![Расширенные разрешения — после установки ACL группа не может писать](https://rvso.com/image/88778/%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5%20%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F%20%E2%80%94%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%20%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8%20ACL%20%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B0%20%D0%BD%D0%B5%20%D0%BC%D0%BE%D0%B6%D0%B5%D1%82%20%D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1%8C%20.png)
Я хочу использоватьsetfaclчтобы установить разрешения dir
для группы пользователей. Я делаю что-то вроде этого:
mkdir /Employee
chgrp employeers /Employee
setfacl -m d:g::rwx /Employee
И теперь, когда я пытаюсь создать файл (от пользователей, входящих в эту группу), я получаю ошибку «Нет разрешения».
root@debian:~# ls -la /Employee
all 8
drwxr-xr-x+ 2 root employeers 4096 maj 21 14:50 .
drwxr-xr-x 23 root root 4096 maj 21 14:50 ..
Что я делаю не так?
решение1
d
— это сокращение от default
. Разрешения по умолчанию и фактические разрешения независимы. Запустите команду setfacl второй раз без d:
, тогда разрешения должны работать так, как нужно. Я предполагаю, что вы хотите получить эффект от обеих команд.
Вывод getfacl
может подсказать вам этот вывод,
- показ
default:
развернутого - показаны исходные записи контроля доступа, которые не содержат слово «default», что указывает на то, что в сделанной вами записи есть что-то другое.
В свою очередь, +
в выводе ls -l
, показывает, что есть ACE, которые разрешают доступ, который иначе не ожидался бы от базового режима (нет способа, которым стандартные ACE POSIX могут запретить доступ, разрешенный базовым режимом, который вы видите)[1]. После второй команды setfacl вы заметите, что базовый режим меняется на rwxrwxr-x
. Это происходит потому, employeers
что это основная группа файла, и setfacl избегает создания дублирующей записи.
[1] Списки контроля доступа Windows и NFSv4 позволяют запрещать записи. Многие считают это ловушкой сложности, включая страницу руководства для nfs4_acl. Естественно, это означает, что порядок ACL имеет значение. По-видимому, графические интерфейсы Windows меняют их на «предпочтительный» порядок с явными запрещающими записями в начале и унаследованными записями в конце.