Что такое и для чего предназначены списки контроля доступа Файловой системы (ACL)?

Для реализации сложных структур прав доступа используются расширенные права - ACL (Access control list - cписки контроля доступа). Списки контроля доступом (ACL) дают большую гибкость, чем стандартный набор полномочий «пользователь/группа/остальные».

Возможность использования ACL позволяет администратору получить преимущество от использования более интеллектуальной модели безопасности.

Список доступа представляет собой структуру данных (обычно таблицу), содержащую записи, определяющие права индивидуального пользователя или группы на файлы и каталоги. В операционной системе Linux большинство файловых систем имеет расширенные атрибуты выполняющие роль ACL. Каждый объект в системе содержит указатель на свой ACL. Привилегии (или полномочия) определяют специальные права доступа, разрешающие пользователю читать из (англ. read), писать в (англ. write) или исполнять (англ. execute) объект. В некоторых реализациях ACE (Access Control Entries) могут определять право пользователя или группы на изменение ACL объекта.

Концепции ACL в разных операционных системах различаются, несмотря на существующий «стандарт» POSIX. (Проекты безопасности POSIX, .1e и .2c, были отозваны, когда стало ясно, что они затрагивают слишком обширную область и работа не может быть завершена, но хорошо проработанные части, определяющие ACL, были широко реализованы и известны как «POSIX ACLs».)

Посмотреть расширенные атрибуты выполняющие роль ACL для файлов и/или каталогов можно с помощью комманд:
getfacl <имя_файла/каталога>

Установить расширенные атрибуты можно коммандами:
setfacl -m u:alisa:x,g:staff:rx <имя_файла/каталога>

Установить расширенные атрибуты по умолчанию можно коммандами:
setfacl -b <имя_файла/каталога>