Linux Labs

Пользователи, права, процессы / Ступень 4 из 13

Общий каталог: setgid, sticky и umask

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 1 из 7 · на машине · 5 мин

Общая папка команды

Чему научишься

  • Настраивать общий каталог, где новые файлы получают группу команды.
  • Объяснять права нового файла маской umask и находить, где она задана.
  • Защищать файлы общего каталога от чужого удаления sticky-битом.

Команда devs — alice и bob — держит общие файлы в /srv/team. Каталог принадлежит группе devs, и запись в него группе разрешена. Посмотри, как в нём работают двое: alice кладёт план, bob пробует его дописать, а потом прибирает каталог.

Команды за alice и bob запускает sudo -u, как в прошлом уроке. «Начать» заведёт обоих и каталог.

Упражнение · посмотреть

Посмотри, как работает общий каталог

Выполни команды по порядку: alice создаёт plan.txt в /srv/team, ты смотришь ls -l, bob пробует дописать файл, а потом удаляет его.

Сначала предположи

Какую группу ls -l покажет у plan.txt?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа
Проверь себя 1 вопрос

Почему bob не смог дописать plan.txt, хотя он в группе devs?

  • tee -a дописывает любой файл, где у процесса есть w. У bob её нет: группа файла — alice, и ему досталась тройка r--.

  • sudo -u запускает новый процесс и читает группы заново: sudo -u bob id покажет devs.

  • Запись в каталог у bob есть через группу devs: rm -fv удалила plan.txt, а удаление меняет каталог.

У plan.txt группа alice, а bob в ней не состоит, поэтому для него действовала тройка остальных r--.

Ubuntu 24.04
Загрузка…