Definir a ACL padrão não funciona conforme o esperado

Definir a ACL padrão não funciona conforme o esperado

Vou trabalhar em um projeto web e, portanto, tenho uma wwwpasta dentro $HOME. Quero que esta pasta userpertença a group www-data. Eu emito:

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

Então ls -alh | grep wwwdá:

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

Além disso, quero que as permissões padrão sejam definidas independentemente das permissões dos processos de criação. Então eu faço:

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

Então getfacl $HOME/wwwdá:

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

Agora estou cdna pasta recém-criada com um problema:

touch testfile

E então ls -alh | grep testfiledá:

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

Como você pode ver o grupo www-datafoi herdado devido ao setgidbit. Mas as ACLs padrão do diretório $HOME/wwwnão foram herdadas (como eu esperava). $HOMEtem ACLs padrão diferentes em comparação com $HOME/www- mas eu esperaria que a substituição manual das ACLs padrão dos subdiretórios funcionasse bastante simples.

Quero que os subdiretórios e arquivos dentro deles $HOME/wwwtenham as permissões padrão fornecidas acima. O que estou perdendo aqui?

Responder1

Os arquivos por padrão não recebem permissões de execução. Os diretórios sim. Tente criar um diretório, ele deverá ter as permissões esperadas. Os arquivos devem obter as permissões padrão esperadas menos a execução.

informação relacionada