ACLs - o mesmo acl em todos os arquivos recém-criados automaticamente

2

Eu quero definir o ACL para, por exemplo. / tmp / pasta de teste assim:

/ tmp / test owner é o usuário "gaspar", membro do grupo "testgroup".
O usuário "testuser" também é um membro do grupo "testgroup", e eu quero dar permissões rwx somente para este usuário + proprietário (usuário "gaspar").
Também preciso definir a mesma acl para todos os arquivos / diretórios recém-criados em / tmp / test automaticamente.

Quando eu defino assim:

setfacl -Rdm u:testuser:rwx,g:testgroup:-,o::- /tmp/test/

getfacl -p /tmp/test/ dá permissões:

# file: /tmp/test/
# owner: gaspar
# group: testgroup
user::rwx
group::---
other::---
default:user::rwx
default:user:testuser:rwx
default:group::---
default:group:testgroup:---
default:mask::rwx
default:other::---

E o usuário "testuser" não tem permissões para a pasta / tmp / test. Você pode por favor sugerir onde está o problema, o que devo corrigir?

Quando eu configuro o ACL assim (sem a opção "d"), o usuário "testuser" tem permissões como deveria, mas obviamente arquivos / diretórios recém-criados não possuem o mesmo acl:

setfacl -Rm u:testuser:rwx,g:testgroup:-,o::- /tmp/test/

getfacl -p /tmp/test/

# file: /tmp/test/
# owner: gaspar
# group: testgroup
user::rwx
user:testuser:rwx
group::---
group:testgroup:---
mask::rwx
other::---

Qualquer conselho apreciado!

    
por gaspar 14.04.2017 / 13:33

3 respostas

2

No seu sistema, os arquivos em /tmp desaparecem na reinicialização, certo? Talvez este não seja um bom local para uma solução permanente. Ao configurar uma ACL em um diretório que deve aplicar a ACL a todos os novos objetos do sistema de arquivos no diretório, lembre-se de definir duas máscaras: (1) a máscara para o próprio diretório e (2) a máscara padrão (para todos os novos objetos do sistema de arquivos ).

setfacl -m u::rwx,g::r-x,o::--- /tmp/test
setfacl -d -m u::rwx,g::r-x,o::--- /tmp/test

Acima, a opção -m é a máscara para /tmp/test e a opção -d torna a máscara a máscara padrão para todos os novos objetos do sistema de arquivos no mesmo diretório. É equivalente a 0750. Os valores octal também podem ser usados.

O usuário, o grupo e outras máscaras funcionam da mesma maneira: g:groupname:--- ou em combinação: u:username:---,g:groupname:---,o::--- . Não especificar um nome de usuário ou nome de grupo aplica a máscara à propriedade atual do usuário / grupo.

Esteja ciente de que nem todo software está ciente das ACLs. Por exemplo, nem todos os clientes SFTP / SCP os conhecem ainda.

    
por 14.04.2017 / 14:53
0

Isso está funcionando como deveria.

man acl tem o seguinte a dizer sobre as ACLs padrão:

ACL TYPES

Every object can be thought of as having associated with it an ACL that governs the discretionary access to that object; this ACL is referred to as an access ACL. In addition, a directory may have an associated ACL that governs the initial access ACL for objects created within that directory; this ACL is referred to as a default ACL.

(ênfase minha)

O que você especificou com sua ACL é que somente o proprietário tem permissões rwx para o diretório. A ACL padrão no diretório especifica o seguinte:

  • todos os arquivos criados dentro dele terão sua ACL definida como a ACL padrão do diretório pai.
  • todos os diretórios criados nele terão sua ACL padrão definida como a ACL padrão do diretório pai

Se você alterar as permissões para o diretório pai ou adicionar uma ACL de grupo / usuário que permita o acesso, todos os arquivos dentro dele funcionarão conforme o esperado.

    
por 14.04.2017 / 14:54
0

Você precisa entender o que é "user :: rwx e default: user :: rwx" Seção padrão para herdar acl's.
Para obter mais informações, você precisa ler "man setfacl" e talvez este documento o ajude:
link

    
por 29.11.2017 / 16:57