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

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.


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.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.