Definindo ACL padrão não funciona como esperado

0

Vou trabalhar em um projeto da web e, portanto, tenho uma www -folder dentro de $HOME . Eu quero que esta pasta pertença a user enquanto cancelando o grupo 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 www dá:

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/www dá:

# 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, eu cd na pasta recém-criada um problema:

touch testfile

E então ls -alh | grep testfile dá:

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

Como você pode ver, o grupo www-data foi herdado devido ao setgid bit. Mas as ACLs padrão do diretório $HOME/www não foram herdadas (como eu esperava). $HOME tem diferentes ACLs padrão em comparação com $HOME/www - mas eu esperaria que substituir manualmente as ACLs padrão dos subdiretórios funcionasse de forma bastante simples.

Eu quero que os subdiretórios e arquivos dentro de $HOME/www tenham as permissões padrão, conforme indicado acima. O que estou perdendo aqui?

    
por fragwürdig 10.08.2016 / 17:59

1 resposta

1

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

    
por 10.08.2016 / 18:11