ACL e permissões antigas simples

2

Eu li um monte de artigos, mas ainda não consigo ter uma idéia da ACL, então tenho as seguintes perguntas.

  1. Quais são os benefícios de usar ACL sobre permissões antigas (por exemplo, 0777) e alterar o proprietário do arquivo, o grupo etc.? (Apenas um para mim, como imagino vários usuários, pode ter permissão diferente para um arquivo)
  2. Como o ACL é implementado? Utiliza dados inode?
  3. Existe alguma conexão entre os atributos estendidos (xattr)?
  4. O VFS tem suporte para atributos estendidos? Ou este é o recurso FS specific?

Por favor, ajude a entender isso, talvez haja alguns bons artigos sobre isso?
Obrigado

    
por solderingiron 16.06.2016 / 22:23

1 resposta

3

As ACLs permitem que mais de uma pessoa e mais de um grupo recebam permissões. Por exemplo, você pode ter uma equipe de SA e uma equipe de DBA. Você deseja conceder acesso de "leitura + gravação" às SAs a um arquivo, mas os DBAs apenas acessam o acesso. Como um arquivo só pode ter um proprietário de grupo, isso é difícil de fazer. Mas com ACLs é fácil.

As implementações do

ACL são específicas do sistema de arquivos. Normalmente, eles estão associados a inodes. por exemplo,

$ echo test > file
$ setfacl -m g:dbus:rw file
$ getfacl file 
# file: file
# owner: sweh
# group: sweh
user::rw-
group::r--
group:dbus:rw-
mask::rw-
other::r--

Aqui podemos ver que há duas permissões de grupo definidas no arquivo, com permissões diferentes.

Vamos fazer um hardlink entre os arquivos (nomes de arquivos diferentes, o mesmo inode) e ver os resultados:

$ ln file file2
$ getfacl file2
# file: file2
# owner: sweh
# group: sweh
user::rw-
group::r--
group:dbus:rw-
mask::rw-
other::r--

Portanto, criamos um vínculo entre os arquivos, e as ACLs estão disponíveis no novo nome de arquivo, indicando que estão associadas ao inode e não ao nome do arquivo.

As ACLs são diferentes dos atributos estendidos, mas podem ser armazenadas em espaços de nomes xattr. os atributos xattr dependem do sistema de arquivos.

    
por 16.06.2016 / 23:15