Назад | Перейти на главную страницу

setfacl установка нежелательной группы выполнить

Я почти уверен, что делаю что-то не так, но не могу понять ...

У меня есть несколько каталогов, которые я создал со следующим:

sudo setfacl -dR -m u::rwX,g::rwX,o::rX,u:ubuntu:rwX,u:www-data:rwX,g:www-data:rwX .
sudo setfacl -R -m u:ubuntu:rwX,u:www-data:rwX,g:www-data:rwX .

Моя проблема в том, что существующие там файлы внезапно получают флаг выполнения в группе. На моем тестовом сервере я делаю то же самое, но этого не происходит. Единственная разница между этим сервером и тестовым в том, что я использовал rysnc для копирования файлов и создания каталогов, но используемая команда не включала флаги для сохранения разрешений (-rltvz). На тестовом я использовал scp. Результаты из getfacl матч между машинами тоже.

На тестовой машине, если я это сделаю touch test.txt а затем запустите второй setfacl команда (указана выше), то к одному файлу добавляется бит выполнения группы, в то время как остальные файлы остаются без изменений. Существующие файлы с такими же разрешениями имеют следующие настройки:

# file: veggies.png
# owner: ubuntu
# group: www-data
user::rw-
user:www-data:rw-
user:ubuntu:rw-
group::rw-
group:www-data:rw-
mask::rw-
other::r--

Вновь созданный файл имеет следующие настройки:

# file: test.txt
# owner: ubuntu
# group: ubuntu
user::rw-
user:www-data:rwx       #effective:rw-
user:ubuntu:rwx         #effective:rw-
group::rwx          #effective:rw-
group:www-data:rwx      #effective:rw-
mask::rw-
other::r--

Но ls говорит: -rw-rw-r--+ 1 ubuntu ubuntu 0 Feb 28 10:00 test.txt

РЕДАКТИРОВАТЬ: Итак, после долгого чтения проблема, похоже, заключается в том, что вторая команда - это «восстановление маски». Вы можете видеть, что разрешение группы указано как «rwx», а маска - «rw-», поэтому ls показывает 'rw-', но вторая команда пересчитывает маску в 'rwx', а затем показывает 'rwx' в ls. Однако я все еще не понимаю, почему touch test.txt создаст файл с группой «rwx», когда первая команда установит значение по умолчанию «g :: rwX», что должно означать, что обычный файл должен иметь разрешение «rw-».