ACLs - as mesmas ACLs em todos os arquivos recém-criados automaticamente

ACLs - as mesmas ACLs em todos os arquivos recém-criados automaticamente

Quero definir ACL, por exemplo. /tmp/test assim:

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

Quando eu setfacl 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 então o usuário "testuser" não tem permissões para a pasta/tmp/test. Você pode sugerir onde está o problema, o que devo corrigir?

Quando eu defino acl assim (sem a opção "d"), o usuário "testuser" tem as permissões que deveria ter, mas obviamente os arquivos/diretórios recém-criados não têm a mesma 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!

Responder1

No seu sistema, os arquivos /tmpdesaparecem na reinicialização, certo? Talvez este não seja um bom local para uma solução permanente. Ao definir 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 -mopção é a máscara para /tmp/test, e a -dopção 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. Valores octais 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 conhece ACLs. Por exemplo, nem todos os clientes SFTP/SCP os conhecem ainda.

Responder2

Isso está funcionando como deveria.

man acltem o seguinte a dizer sobre ACLs padrão:

TIPOS DE ACL

Cada objeto pode ser considerado como tendo associado a ele uma ACL que rege o acesso discricionário a esse objeto; esta ACL é chamada de ACL de acesso. Além disso, um diretório pode ter uma ACL associada quegoverna a ACL de acesso inicial para objetos criados nesse diretório; esta ACL é chamada deACL padrão.

(ênfase minha)

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

  • todos os arquivos criados nele terão sua ACL definida como a ACL padrão do diretório pai.
  • todos os diretórios criados nele terão suas ACL padrão definidas como iguais à 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.

Responder3

Você precisa entender o que é "user::rwx e default:user::rwx" Seção padrão para herdar ACLs.
Para mais informações você precisa ler "man setfacl" e talvez este documento o ajude:
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.bpxb200/aclinhe.htm

informação relacionada