Краткая инструкция по работе с правами доступа к директориям и файлам в Linux-системах на примере ОС Debian GNU/Linux 11.6
Сделать пользователя владельцем файла или директории
# chown username:groupname /home/username/some_directory/
Задать пользователю (владельцу) полные права, а также определить права для группы и остальных пользователей, которые не входят в заданную группу
# chmod 775 /home/username/some_directory/
Здесь 775 — это:
- 7 — rwx — права владельца (полные)
- 7 — rwx — права группы, в которую входит владелец (также полные)
- 5 — r-x — права для остальных пользователей, не входящих в группу владельца (в данном случае чтение и выполнение)
Эту же команду можно прописать так:
# chmod u=rwx,g=rwx,o=rx /home/username/some_directory/
Подробнее о chmod можно почитать в Википедии: https://ru.wikipedia.org/wiki/Chmod
Для того, чтобы конкретизировать права для других пользователей, используется Access Control List (ACL)
# apt install acl
Добавить права другим пользователям или группам можно при помощи команды:
# setfacl -m u:someuser:r /home/username/some_directory/
этот пример — права для пользователя someuser только для чтения
# setfacl -m g:somegroup:rwx /home/username/some_directory/
этот пример — права для группы somegroup для чтения, записи и выполнения
Просмотреть права на директорию или файл
# getfacl -a /home/username/some_directory/
Удалить права для пользователя someuser
# setfacl -x u:someuser /home/username/some_directory/
Удалить все дополнительные права для директории (или файла)
# setfacl -b /home/username/some_directory/
Для рекурсивных действий к командам необходимо добавлять ключ -R.