ACL을 조사하고 있지만 이 정보가 기술적으로 어디에 있는지 혼란스럽습니다. 기술적으로 이것은 단지 inode의 메타데이터입니까?
답변1
정확한 세부 사항은 파일 시스템에 따라 다를 수 있지만 개념적으로 ACL은 기존 권한, 날짜 등과 마찬가지로 파일의 inode에 저장된 메타데이터입니다.
ACL은 크기가 다양할 수 있으므로 결국 별도의 블록에 저장될 수 있습니다. 그러나 세부 사항은 파일 시스템을 설계하거나 파일 시스템 드라이버를 작성할 때만 중요합니다.
답변2
Ext4의 경우:
https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Extended_Attributes
"확장 속성(xattrs)은 일반적으로 디스크의 별도 데이터 블록에 저장되며 inode.i_file_acl*을 통해 inode에서 참조됩니다."
답변3
보세요확장된 속성이 기사의 섹션:Linux의 POSIX 액세스 제어 목록.
발췌
ACL은 파일 시스템 객체와 관련된 가변 길이 정보입니다. Solaris가 UFS 파일 시스템에서 하는 것처럼 파일 시스템에 ACL을 저장하는 전용 정책을 설계하는 것이 가능합니다[13]. UFS 파일 시스템의 각 inode에는 i_shadow라는 필드가 있습니다. inode에 ACL이 있는 경우 이 필드는 섀도우 inode를 가리킵니다. 파일 시스템에서는 섀도우 inode가 일반 파일처럼 사용됩니다. 각 섀도우 inode는 해당 데이터 블록에 ACL을 저장합니다. 동일한 ACL을 가진 여러 파일이 동일한 섀도우 inode를 가리킬 수 있습니다.
ACL 이외의 다른 커널 및 사용자 공간 확장은 정보 조각을 파일과 연관시킬 수 있는 이점을 갖기 때문에 Linux 및 대부분의 기타 UNIX 유사 운영 체제는 확장 속성(EA)이라는 보다 일반적인 메커니즘을 구현합니다. 이러한 시스템에서 ACL은 EA로 구현됩니다.
~ 후에확장된 속성첫 번째 부분에서는 ext2/ext3, JFS 등 다양한 파일 시스템이 EA를 구현하는 방법을 자세히 소개합니다.