Практическое задание

Эта задача — шаг 6 курса «Пользователи, группы и права»

Права по умолчанию через umask

средне~5 мин

Скрипт /root/gen.sh создаёт файлы отчётов в /srv/gd через touch, но они выходят с правами 644 — их читают все. Открой скрипт во вкладке «Редактор» над терминалом и поправь сам скрипт так, чтобы создаваемые им файлы получали права ровно 640, задав это через umask. chmod в скрипте не используй.

Что потренируешь:
  • umask
  • права по умолчанию
  • chmod
  • восьмеричные права
  • touch

Разбор темы

umask — маска битов прав, которые снимаются с вновь создаваемых файлов и каталогов. Для файлов отправная точка — 666, для каталогов — 777; каждый бит, установленный в маске, сбрасывается в итоговых правах (побитово «И НЕ», а не арифметическое вычитание). Так umask 027 оставляет файлам 640, а umask 033 — 644 (не 633). umask действует только на создание: touch уже существующего файла его права не меняет. В отличие от chmod, который меняет права уже существующего файла, umask влияет на будущие создания в рамках текущего процесса-шелла, поэтому его задают в начале скрипта.

Что проверяется

  1. скрипт использует umask
  2. файлы скрипта получают права 640

Как это выглядит