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

Эта задача — шаг 7 курса «Новый сервер: настройка с нуля»

umask 027 для всего сервера

средне~5 мин

На этом сервере файлы команды не должны быть видны посторонним пользователям, но коллеги по группе должны их читать. Настрой umask 027 для всех новых login-сессий всех пользователей: новые файлы — 640, новые каталоги — 750. Проверяется login-шеллом bash (как при bash -l).

Что потренируешь:
  • umask
  • /etc/profile.d
  • login-шелл
  • права по умолчанию

Разбор темы

umask не выдаёт права, а убирает их: новый файл получает базовые 666, каталог — 777, и из них вычитаются биты маски. Маска 027 ничего не снимает у владельца, снимает запись у группы и всё у остальных — получается 640 для файлов и 750 для каталогов. Чтобы правило действовало для всех пользователей, его кладут не в личные dotfiles, а в общесистемный каталог /etc/profile.d/: login-шелл подключает оттуда все *.sh при старте каждой сессии.

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

  1. umask в login-шелле равен 027
  2. новый файл получает права 640
  3. новый каталог получает права 750

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