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

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

Права вики после заливки по FTP

средне~7 мин

Вики залили в /var/www/wiki по FTP, и права получились случайными: во вкладке «Сайт» над терминалом вместо вики — 403 Forbidden. Приведи права к норме рекурсивно: все каталоги — 750, все файлы — 640 (остальным пользователям доступа нет). nginx работает от www-data и читает вики через группу: владелец файлов — root, группа — www-data, её не меняй. Обнови вкладку «Сайт» — вики должна открыться.

Что потренируешь:
  • find
  • -exec
  • chmod
  • права каталогов и файлов
  • рекурсивный обход

Разбор темы

У каталога и у файла биты прав значат разное: x на каталоге — это право войти в него и обращаться к содержимому, а на файле — право запустить его как программу. Поэтому один рекурсивный chmod -R с единым режимом всегда портит одну из сторон: либо файлы становятся исполняемыми, либо в каталоги нельзя зайти. Правильно — разделить объекты по типу: find отбирает каталоги и файлы отдельно и через -exec применяет к каждой группе свой режим. Отрицание ! -perm помогает найти то, что ещё не приведено к норме.

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

  1. все каталоги — 750
  2. все файлы — 640
  3. файлы вики на месте
  4. вики открывается в браузере (nginx читает её через группу www-data)

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