Como obter o setfacl para definir permissões de ACL recursivamente no Linux?

20

Estou configurando um novo servidor e queria dar uma chance ao ACL sobre as permissões de estilo chown: chgrp: chmod.

A página de manual do setfacl indica que a opção '-R' pode ser usada para definir a ACL recursivamente em arquivos e diretórios.

-R, --recursive Aplica operações a todos os arquivos e diretórios recursivamente. Esta opção não pode ser combinada com '--restore'.

Se meu layout de diretório se parecer com isso

test/
   subtest/
   subtest.txt

e eu executo

setfacl -Rm d:u:foo:rwX test

A ACL entra em vigor no diretório 'subtest', mas não no arquivo subtest.txt.

Acho que posso usar o find + exec para contorná-lo, mas pretendo usar esse servidor para treinar alguns outros administradores e quero mantê-lo o mais simples possível, para não ficarmos presos em alguns dos mais avançados convenções.

obrigado

Joe Holloway
fonte

Respostas:

43

Experimentar:

setfacl -Rm u:foo:rwX,d:u:foo:rwX test

para modificar a ACL atual e a padrão. Acredito que "d:" afeta apenas a (d) efault ACL dos diretórios e deixa os arquivos intocados. Em seguida, se você criar um novo arquivo no diretório, ele herdará a ACL do diretório pai por padrão.

Pausado até novo aviso.
fonte
Isso faz sentido, mesmo se ele se sente um pouco redundante
Joe Holloway
11
Isso funciona para remover o controle de acesso também. Talvez algo no sentido de: sudo setfacl -Rx g: caminho GID
por que mudar de lugar entre os sinalizadores -Re -mquebra o comando?
pkaramol 02/03
@pkaramol: como a -mopção aceita um argumento (a especificação da ACL u:foo:rwX,d:u:foo:rwXnesse caso) e alternar a ordem das opções separa a opção do argumento. Também pode ser que setfaclesteja codificado para esperar suas opções principais primeiro.
Pausado até novo aviso.