Ответ
Чтобы предоставить группе пользователей права только на чтение к файлу или директории, используется комбинация команд chown (или chgrp) и chmod.
Пошаговый пример для файла /shared/docs/report.pdf:
-
Создайте группу (если её нет):
sudo groupadd readers -
Добавьте пользователей в группу:
sudo usermod -aG readers alice sudo usermod -aG readers bobПользователям нужно выйти и заново войти в систему, чтобы изменения вступили в силу.
-
Назначьте файлу целевую группу:
sudo chown :readers /shared/docs/report.pdf # Или используйте chgrp: sudo chgrp readers /shared/docs/report.pdf -
Установите права для группы на чтение (r), убрав запись (w) и выполнение (x):
sudo chmod g=r,o= /shared/docs/report.pdf # Альтернативно, цифровой записью: sudo chmod 640 /shared/docs/report.pdf # rw-r-----g=r— устанавливает для группы только право на чтение.o=— убирает все права у других пользователей (не владельца и не группы).
Для директории и всего её содержимого рекурсивно:
sudo chown -R :readers /shared/docs/
sudo chmod -R g=rX,o= /shared/docs/
Важно: Использование заглавной X (а не x) даёт право на выполнение только для директорий и уже исполняемых файлов, что корректно для навигации по каталогам.
Проверка:
ls -l /shared/docs/report.pdf
# Должно отображаться: -rw-r----- 1 owner readers ...
Теперь все пользователи, входящие в группу readers, смогут читать файл, но не смогут его изменять или удалять.