Настройка ACL по умолчанию не работает должным образом

Настройка ACL по умолчанию не работает должным образом

Я собираюсь работать над веб-проектом и поэтому имею папку www-folder внутри $HOME. Я хочу, чтобы эта папка принадлежала userгруппе www-data. Я выдаю:

mkdir $HOME/www
chmod g+rxs,u+rwx,o-rwx $HOME/www
chown user.www-data $HOME/www

Затем ls -alh | grep wwwвыдает:

drwxr-s---  2 user www-data     4,0K Aug 10 17:33 www

Кроме того, я хочу, чтобы разрешения по умолчанию устанавливались независимо от разрешений создающих процессов. Поэтому я делаю:

setfacl -m d:u::rwx,d:g::rx,d:o::- $HOME/www

Затем getfacl $HOME/wwwвыдает:

# file: www
# owner: user
# group: www-data
# flags: -s-
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
default:other::---

Теперь я cdв недавно созданной папке выдаю:

touch testfile

И затем ls -alh | grep testfileдает:

-rw-r-----   1 user www-data    0 Aug 10 17:44 testfile

Как вы можете видеть, группа www-dataбыла унаследована из-за setgidбита. Но списки ACL по умолчанию из каталога $HOME/wwwне были унаследованы (как я ожидал). $HOMEимеет другие списки ACL по умолчанию по сравнению с $HOME/www- но я бы ожидал, что ручное переопределение списков ACL по умолчанию для подкаталогов работает довольно просто.

Я хочу, чтобы подкаталоги и файлы внутри $HOME/wwwимели разрешения по умолчанию, как указано выше. Что я здесь упускаю?

решение1

Файлы по умолчанию не получают разрешения на выполнение. Каталоги получают. Попробуйте создать каталог, у него должны быть ожидаемые разрешения. Файлы должны получить ожидаемые разрешения по умолчанию за вычетом выполнения.

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