Onde os dados ACL são tecnicamente armazenados?

Onde os dados ACL são tecnicamente armazenados?

Estou estudando ACLs e estou confuso sobre onde essas informações residem tecnicamente. Isso é apenas tecnicamente metadados de inodes?

Responder1

Os detalhes exatos podem depender do sistema de arquivos, mas conceitualmente, sim, as ACLs são metadados armazenados nos inodes do arquivo, assim como as permissões tradicionais, datas, etc.

Como o tamanho das ACLs pode variar, elas podem acabar sendo armazenadas em blocos separados. No entanto, os detalhes só importam se você estiver projetando um sistema de arquivos ou programando um driver de sistema de arquivos.

Responder2

Para Ext4:

https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Extended_Attributes

"Atributos estendidos (xattrs) são normalmente armazenados em um bloco de dados separado no disco e referenciados a partir de inodes via inode.i_file_acl*."

Responder3

Dê uma olhada noAtributos Estendidosseção deste artigo, intitulada:Listas de controle de acesso POSIX no Linux.

excerto

ACLs são informações de comprimento variável associadas a objetos do sistema de arquivos. Estratégias dedicadas para armazenar ACLs em sistemas de arquivos podem ser desenvolvidas, como o Solaris faz no sistema de arquivos UFS [13]. Cada inode em um sistema de arquivos UFS possui um campo chamado i_shadow. Se um inode tiver uma ACL, este campo aponta para um inode shadow. No sistema de arquivos, os inodes shadow são usados ​​como arquivos normais. Cada shadow inode armazena uma ACL em seus blocos de dados. Vários arquivos com a mesma ACL podem apontar para o mesmo inode de sombra.

Como outras extensões de kernel e de espaço de usuário, além das ACLs, se beneficiam da capacidade de associar informações a arquivos, o Linux e a maioria dos outros sistemas operacionais do tipo UNIX implementam um mecanismo mais geral chamado Atributos Estendidos (EAs). Nestes sistemas, as ACLs são implementadas como EAs.

Depois deAtributos Estendidosseção aborda os detalhes de como os vários sistemas de arquivos, ext2/ext3, JFS, etc. implementam o EA.

informação relacionada