Расширенные разрешения — после установки ACL группа не может писать

Расширенные разрешения — после установки ACL группа не может писать

Я хочу использовать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может подсказать вам этот вывод,

  1. показ default:развернутого
  2. показаны исходные записи контроля доступа, которые не содержат слово «default», что указывает на то, что в сделанной вами записи есть что-то другое.

В свою очередь, +в выводе ls -l, показывает, что есть ACE, которые разрешают доступ, который иначе не ожидался бы от базового режима (нет способа, которым стандартные ACE POSIX могут запретить доступ, разрешенный базовым режимом, который вы видите)[1]. После второй команды setfacl вы заметите, что базовый режим меняется на rwxrwxr-x. Это происходит потому, employeersчто это основная группа файла, и setfacl избегает создания дублирующей записи.


[1] Списки контроля доступа Windows и NFSv4 позволяют запрещать записи. Многие считают это ловушкой сложности, включая страницу руководства для nfs4_acl. Естественно, это означает, что порядок ACL имеет значение. По-видимому, графические интерфейсы Windows меняют их на «предпочтительный» порядок с явными запрещающими записями в начале и унаследованными записями в конце.

Связанный контент