Я изучаю ACL и не понимаю, где технически находится эта информация. Это просто технически метаданные из inodes?
решение1
Точные детали могут зависеть от файловой системы, но концептуально, да, списки ACL представляют собой метаданные, хранящиеся в инодах файлов, как и традиционные разрешения, даты и т. д.
Поскольку размер ACL может варьироваться, они могут храниться в отдельных блоках. Однако детали имеют значение только если вы проектируете файловую систему или программируете драйвер файловой системы.
решение2
Для Ext4:
https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Extended_Attributes
«Расширенные атрибуты (xattrs) обычно хранятся в отдельном блоке данных на диске и на них ссылаются из inode через inode.i_file_acl*».
решение3
Взгляните наРасширенные атрибутыраздел этой статьи под названием:Списки контроля доступа POSIX в Linux.
выдержка
ACL — это фрагменты информации переменной длины, которые связаны с объектами файловой системы. Могут быть разработаны специальные стратегии для хранения ACL в файловых системах, как это делает Solaris в файловой системе UFS [13]. Каждый inode в файловой системе UFS имеет поле i_shadow. Если inode имеет ACL, это поле указывает на теневой inode. В файловой системе теневые inode используются как обычные файлы. Каждый теневой inode хранит ACL в своих блоках данных. Несколько файлов с одним и тем же ACL могут указывать на один и тот же теневой inode.
Поскольку другие расширения ядра и пространства пользователя в дополнение к ACL выигрывают от возможности связывать фрагменты информации с файлами, Linux и большинство других UNIX-подобных операционных систем реализуют более общий механизм, называемый Extended Attributes (EAs). В этих системах ACL реализованы как EAs.
ПослеРасширенные атрибутыВ этом разделе рассматриваются особенности реализации EA в различных файловых системах, ext2/ext3, JFS и т. д.