Расхождение с выводом `ls -al` и`getfacl`
Я запустил следующий скрипт для установки разрешений в /etc/nginx
#!/usr/bin/env bash
sudo chown -R root:root /etc/nginx
sudo chmod -R 0750 /etc/nginx
sudo setfacl -Rbk -m g:hugo:rwx /etc/nginx
sudo setfacl -R --mask -m g:www-data:rx /etc/nginx
Тем не менее, когда я проверяю разрешения впоследствии, есть расхождение в результатах для "группы" ls -al а также getfacl
$ ls -al /etc/nginx
total 24
drwxrwx---+ 5 root root 4096 Mar 18 17:07 .
$ getfacl /etc/nginx
getfacl: Removing leading '/' from absolute path names
# file: etc/nginx
# owner: root
# group: root
user::rwx
group::r-x
group:www-data:r-x
group:hugo:rwx
mask::rwx
other::---
Зачем?
1 ответ
Решение
Что вы видите с ls это mask запись ACL. От man setfacl, mask запись, как представляется, отражает максимально возможные разрешения, которые могут быть установлены для записи ACL.
разрешения записи маски дополнительно корректируются, чтобы включить объединение всех разрешений, затронутых записью маски
Права доступа, которые вы видите в вашем примере с ls для группы по умолчанию root:rwx неверны, поскольку действующие права теперь контролируются ACL.