Eu tenho um diretório chamado "membros" e abaixo dele existem pastas / arquivos. Como posso definir recursivamente todas as pastas / arquivos atuais e quaisquer futuros criados lá por padrão ter 775 permissões e pertencer ao proprietário / grupo ninguém / administrador, respectivamente? Eu ativei o ACL, montado, mas não consigo obter o comando setfacl para fazer isso corretamente. Alguma idéia de como fazer isso?
fonte
-Rdm g:groupnamehere:rwx, -Rdm u:groupnamehere:rwx
.Para ir com sua resposta aceita ...
Você pode combinar esses comandos juntos como:
fonte
d:
o primeiro item em vez de-Rmd
? Eu posso dizer que o segundo parâmetro não deve terdefault
- é estranho como o Linux aceita isso para mim.getopt_long
) envia todo o argumento de opção-m
que é analisado à mão porsetfacl
, separando por vírgulas os argumentos passados. Eles são adicionados a uma lista vinculada, que é repetida no final ao alterar a ACL.O setfacl no linux tem as opções
-d
e-k
para manipular as permissões padrão que provavelmente são o que você está procurando (veja man para mais informações).fonte
É fácil definir recursivamente permissões simples do UNIX, sob demanda de um usuário devidamente autorizado, as permissões de diretórios e arquivos. Não é possível impor isso automaticamente.
Você pode dizer aos usuários para usar o conjunto de umask de 0002, e isso ajuda a criar novos arquivos em 0775 (dependendo do aplicativo). Mas não é exequível.
Meu entendimento é que as ACLs não são herdadas nos sistemas UNIX / Linux. Eles são definidos sob demanda.
Quanto à propriedade do arquivo / diretório, você está praticamente sem sorte aqui.
Quanto à propriedade do grupo de arquivos / diretórios, configurando o bit set-gid do diretório (ou seja, g + s em DIRECTORIES), isso faz com que a propriedade do grupo seja herdada.
O que eu fiz nessas situações é executar um script cron periódico raiz que redefine permissões / propriedades não conformes ao padrão nesses diretórios.
Outro processo (NÃO RECOMENDADO) é usar o mesmo ID de usuário ao trabalhar nesses arquivos. Isso pode ser feito pelo usuário efetuando login no sistema sob seu próprio UID e, em seguida, usando sudo ou su para executar como o ID. Isso ainda não é 100%, especialmente em relação às ACLs e aos bits de permissão.
fonte