Onde os dados da ACL são armazenados tecnicamente?

6

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

    
por Mike B 04.10.2013 / 02:51

3 respostas

8

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.

    
por 04.10.2013 / 03:03
2

Para o Ext4:

link

"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 *."

    
por 04.10.2013 / 03:10
2

Dê uma olhada na seção Atributos Estendidos deste artigo, intitulada: Listas de controle de acesso POSIX no Linux .

trecho

ACLs are pieces of information of variable length that are associated with file system objects. Dedicated strategies for storing ACLs on file systems might be devised, as Solaris does on the UFS file system [13]. Each inode on a UFS file system has a field called i_shadow. If an inode has an ACL, this field points to a shadow inode. On the file system, shadow inodes are used like regular files. Each shadow inode stores an ACL in its data blocks. Multiple files with the same ACL may point to the same shadow inode.

Because other kernel and user space extensions in addition to ACLs benefit from being able to associate pieces of information with files, Linux and most other UNIX-like operating systems implement a more general mechanism called Extended Attributes (EAs). On these systems, ACLs are implemented as EAs.

Após a seção Atributos estendidos , ele fica dentro dos detalhes de como os vários sistemas de arquivos, ext2 / ext3, JFS, etc. implementam o EA.

    
por 04.10.2013 / 03:08