OSX/Darwin ACL 格式

OSX/Darwin ACL 格式

在 OS X 中,如果要查看文件的 ACL 信息,可以使用-els 选项来执行此操作。

$ ls -lde app/cache
drwxrwxr-x+ 7 alanstorm  staff  238 Apr  1 10:02 app/cache
 0: user:alanstorm allow add_file,delete,add_subdirectory,file_inherit,directory_inherit
 1: user:root allow add_file,delete,add_subdirectory,file_inherit,directory_inherit
 2: user:_www allow add_file,delete,add_subdirectory,file_inherit,directory_inherit

各行的格式是什么ACE?这有记录在任何地方吗?我在chmod或手册页中找不到任何内容ls,并且大多数互联网文章在教您该-e选项后都会挥手示意“这是您的 ACL/ACE 条目”。

allow我可以开始猜测其含义 - 最后一列显然是个人权限,第一列是用户或组等,但我不知道 OS X ACL 中/的含义deny是什么,我不知道0, 1,是否2具有任何语义含义,并且(最重要的是)我不知道还有什么是我不知道的。例如,有一个继承列,显示文件的继承权限

0: user:alanstorm allow add_file,delete,add_subdirectory,file_inherit,directory_inherit 
vs.
0: user:alanstorm inherited allow add_file,delete,add_subdirectory,file_inherit,directory_inherit 

这会搞砸直接的空白解析,我想知道是否还有其他地方会弹出这样的东西。

如果这里有人可以帮助解决我对第 1 列和第 3 列的个别问题,或者更一般地描述格式,我将不胜感激。

我是 UNIX 的老用户了,但我不太了解 ACL 的知识。位掩码,chmod从我冰冷的手上撬开,等等。

答案1

0 1 2 是按评估顺序排列的 ACE,我认为其背后的规则是人类可读的。

然而,这是一个 RTFM 答案,acl 格式在man ls在 OS X 上。

acl的设置是通过chmodOSX完成的;看man chmod(ACL 格式也有描述)。

相关内容