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

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

umask 007 для командных каталогов

средне~5 мин

Команда ops работает в общих групповых каталогах, и коллеги не могут править файлы друг друга: новые файлы создаются без права записи для группы. Настрой так, чтобы в новых login-сессиях любого пользователя umask был 007: файлы — 660, каталоги — 770 (группа читает и пишет, остальным ничего). Проверяется login-шеллом bash, как при bash -l.

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

Разбор темы

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

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

  1. umask в login-шелле — 007
  2. новые файлы — 660, каталоги — 770

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