ACL (Access Control List) – это механизм расширенных прав доступа в Linux, который позволяет задавать более гибкие разрешения для файлов и директорий, чем стандартные
chmod и chown. Позволяет назначать дополнительные права для отдельных пользователей и групп
Упрощает гранулярный контроль доступа
Работает поверх стандартных прав (rwx)
🚩Проверка поддержки ACL
Убедимся, что файловая система поддерживает ACL
mount | grep acl
Если ACL не включен, монтируем с поддержкой ACL
mount -o remount,acl /home
🚩Проверка текущих ACL-прав
Команда
getfacl показывает текущие ACL для файла или папкиgetfacl myfile.txt
Пример вывода
# file: myfile.txt
# owner: user1
# group: users
user::rw-
user:john:r--
group::r--
mask::r--
other::---
🚩Добавление новых ACL-прав (`setfacl`)
Разрешить пользователю
john запись (rw) в myfile.txtsetfacl -m u:john:rw myfile.txt
Разрешить группе
developers выполнение (x)setfacl -m g:developers:x myfile.txt
Дать всем (
other) полный доступ (rwx)setfacl -m o::rwx myfile.txt
Назначить по умолчанию права для всех новых файлов в папке
project/ setfacl -d -m u:john:rwx project/
🚩Удаление ACL-прав
Удалить ACL для пользователя
john setfacl -x u:john myfile.txt
Очистить все ACL-права файла
setfacl -b myfile.txt
Ставь 👍 и забирай 📚 Базу знаний