O mais próximo que eu vim aqui é:
$ chown fileserver:fileserver . -R
$ find . -type f -print -exec chmod a-x '{}' ';'
$ find . -type d -print -exec chmod u+x '{}' ';'
$ find . -type d -print -exec chmod g+xs '{}' ';'
$ cat facls
user::rwx
group::rwx
other::r-x
default:user::rwx
default:user:fileserver:rwx
default:group::rwx
default:group:fileserver:rwx
default:mask::rwx
default:other::r-x
$ setfacl -M facls -R .
e parece fazer a coisa certa com respeito a mensagens extras excessivamente rígidas em processos gravados nesse diretório, mas ainda dá aos usuários a capacidade de chmod
de arquivos que eles criaram e, portanto, restringem suas permissões. / p>
O principal problema com essa solução é que os arquivos ainda são de propriedade de quem os criou, e o proprietário do arquivo tem permissão irrevogável para modificar as permissões. Em sistemas derivados do BSD, parece que você pode consertar isso com um diretório setuid
(que faz com que todos os arquivos criados naquele diretório pertençam ao proprietário do diretório); no entanto, o Linux só tem esse comportamento para setgid
.