Сначала я создаю файл и проверяю его стандартные разрешения и записи ACL:
$ touch file; ls -l file; getfacl file
-rw-r--r-- 1 user user 0 Jul 30 16:26 file
# file: file
# owner: user
# group: user
user::rw-
group::r--
other::r--
Затем я устанавливаю маску ACL для файла и снова проверяю его стандартные разрешения и записи ACL:
$ setfacl -m mask:rwx file
$ ls -l file; getfacl file
-rw-rwxr--+ 1 user user 0 Jul 30 16:26 file
# file: file
# owner: user
# group: user
user::rw-
group::r--
mask::rwx
other::r--
Обратите внимание, что наряду с маской ACL стандартное групповое разрешение на файл также изменилось.
- Какая связь существует между маской ACL и стандартным разрешением группы?
- В чем причина сочетания маски ACL и разрешений группы файлов? Какая логика стоит за этим?
Рассматриваемые дистрибутивы: Debian Linux 7.6 и CentOS 7
РЕДАКТИРОВАТЬ
На данный момент я просто хотел поделиться некоторыми своими выводами, которые я сделал при исследовании отношений между стандартными правами группы файлов и маской ACL. Вот эмпирические наблюдения, которые я нашел:
Маска ACL может быть изменена:
- непосредственно установив его
setfacl -m m:<perms>
командой; - изменяя права доступа к группе файлов с помощью
chmod
команды (если маска ACL уже присутствует; она может отсутствовать, потому что она необязательна, если в файле нет именованных прав доступа ACL для имени пользователя или группы); - добавив запись ACL с именем пользователя или группы (маска будет автоматически пересчитана).
- непосредственно установив его
Маска будет обеспечивать максимальные права доступа (если есть записи ACL с имеющимися разрешениями, которые превышают разрешения маски ACL), только если маска устанавливается непосредственно с помощью setfacl или путем изменения разрешения группы файлов с помощью chmod (не рассчитывается автоматически). Любые изменения в записях ACL приведут к автоматическому пересчету маски ACL и фактически отключат «принудительный режим».
Существует несколько побочных эффектов, неявно влияющих на стандартные разрешения файловой группы при использовании ACL:
- Запись ACL с именованным пользователем или группой, примененная к файлу, может изменить маску ACL (увеличить ее разрешения) и, следовательно, эффективные разрешения группы файлов. Например, если у вас, как у владельца файла, установлены разрешения «rw-r - r-- jim Students», и вы также предоставляете разрешение rw пользователю «jack», вы также неявно предоставляете разрешения rw любому из группы "студенты".
- Более строгая (меньше разрешений) маска ACL может навсегда удалить соответствующие стандартные разрешения файловой группы. Например, если у вас есть файл со стандартными правами доступа к группе файлов rw, и вы применяете маску ACL только для чтения к файлу, его права доступа к группе уменьшатся до уровня только для чтения. Затем, если вы удалите все расширенные записи ACL (с помощью
setfacl -b
команды), разрешения группы останутся только для чтения. Это относится только к более строгой маске ACL, более мягкая маска ACL (больше разрешений) не изменяет навсегда разрешение исходной группы файлов после ее удаления.
источник
Ответы:
Не имеет смысла, если права доступа к файлу unix не совпадают с записью acl и наоборот. Соответственно, страница руководства (
acl(5)
) говорит, что вы просите:Приложение в ответ на обсуждение:
Хорошее объяснение здесь . По сути, маска является
источник
chmod
команду для изменения стандартных разрешений, и наоборот, когда вы выполняете, скажемgetfacl -m u:someuser:rwx
, стандартное разрешение файла для владельца файла, и это изменение будет отражено вls -l
выходных данных. Это все правда, но я не понимаю, как это отвечает на мой вопрос-rw-r--r-- 1 user user
разрешениями, этот ACL с именем пользователя будет принят, и маска ACL (вместе с разрешениями группы файлов) также будет изменена на rwx. --- [см. следующий комментарий как продолжение]-rw-rwxr-- 1 user user
разрешениям файла или нет? Как вы определяете противоречие? Сравнивая разрешения ACL testuser со стандартными разрешениями группы файлов? Какая логика привела вас к сравнению групповых разрешений с правами пользователей? Разве они не разные сущности? Разве это не противоречит здравому смыслу? Это, вероятно, очевидно для вас, но я все еще пытаюсь понять это.Я наконец -то понял , что именно происходит , когда я увидел эту ссылку Обработка списков управления доступом
В частности, эти маски в основном заменяют NAMED USER и все разрешения GROUP и заменяют их. Это означает, что если вы:
Надеюсь, это поможет.
источник
Логика полностью нарушена, и, таким образом, списки ACL для POSIX являются чистой и бесполезной чепухой.
Если они стремились сохранить совместимость с приложениями, которые не имеют представления о ACL, за исключением
стандартнойпримитивной модели «ugo» UNIX, то они фактически потерпели неудачу вначале, потому что теперь каждое приложение, которое очищает разрешения группы, эффективно отзывает доступ, добавленный ACL.источник