====== Списки доступа (POSIX ACL) ======
Управление списками доступа POSIX ACL (Access Control Lists).
http://savannah.nongnu.org/projects/acl/
[[https://wiki.debian.org/Permissions#Access_Control_Lists_in_Linux|Access Control Lists in Linux]]
[[samba:samba#ntfs-acls|Использование в Samba]]
[[Eiciel:Eiciel|Графический интерфейс Eiciel]]
====== Порядок определения доступа ======
Может ли пользователь выполнить действие над файлом или папкой определяются следующим образом:
- Используются права владельца, если пользователь им является.
- Используются права, указанные конкретно для этого пользователя.
- Если действие разрешено хотя бы для одной из группы в которую входит пользователь.
- Если пользователь не входит ни в одну группу описанную в ACL, то используются права для other.
====== Установка ======
apt-get install acl
====== Проверка поддержки ======
Для того, чтобы проверить поддерживаются ли списки доступа (ACL) нужно выполнить команду:
tune2fs -l /dev/sdaX | grep acl
где''/dev/sdaX'' это имя устройства.
Для систем с [[lvm:lvm|LVM]] нужно использовать такой вариант:
tune2fs -l /dev/mapper/vg01-home | grep acl
где ''/dev/mapper/vg01-home'' это имя логического тома
Если ACL поддерживаются то в выводе команды будет примерно это:
Default mount options: user_xattr acl
====== setfacl ======
Установка прав доступа
FIXME
Пример:
Рекурсивно ''-R'' удаляем существующие права ''-b'' и из файла ''-M'' заданного в ''$acl_file'' применяем права и умолчания.
#!/bin/bash
# Путь
path=/srv/share01
# Права
acl_file=/tmp/tmp.acl
cat << 'EOF' |tee $acl_file
user::rwx
group::rwx
group:Group_F:rwx
group:Group_R:r-x
user:User_F:rwx
user:User_R:r-x
mask::rwx
other::---
default:group:Group_F:rwx
default:group:Group_R:r-x
default:user:User_F:rwx
default:user:User_R:r-x
default:mask::rwx
default:other::---
EOF
setfacl -b $path
setfacl -R -b -M $acl_file $path
rm $acl_file
====== getfacl ======
FIXME
Отображение списка контроля доступа к файлам и папкам.
===== Сохранение списка прав в файл =====
getfacl -R ИМЯ_ОБЪЕКТА > ИМЯ_ОБЪЕКТА.acl
====== Ссылки ======
**[[http://help.ubuntu.ru/wiki/access_control_list|Access Control List - списки контроля доступа]]**
[[http://www.calculate-linux.org/main/ru/setting_filesystem_acl|Настройка прав доступа ACL]]
[[https://help.ubuntu.com/community/FilePermissionsACLs|File Permissions ACLs]]
[[http://rus-linux.net/MyLDP/BOOKS/Linux_Foundations/32/ch32.html|Библиотека сайта rus-linux.net: Фундаментальные основы Linux. Часть VIII. Механизмы безопасной работы с файлами]]
[[https://www.computerhope.com/unix/ugetfacl.htm|Linux getfacl command]]
[[https://www.computerhope.com/unix/usetfacl.htm|Linux setfacl command]]
{{tag>Admin Linux Debian}}