通过 Mac OS X 的 CLI 捕获所有 ACL 属性?

通过 Mac OS X 的 CLI 捕获所有 ACL 属性?

这很好,人们可以“疯狂”在文件/文件夹中添加或删除 ACL直到牛回家...但当从命令行执行,举例来说..

$ chmod +a# 1 "admin deny delete" foo 
$ ls -lde foo 
 drwxr-xr-x + 2 apl apl 68 Jul 19 18:32 foo 
 0: group:admin allow delete 
 1: group:admin deny delete 
 2: user:tony allow delete

有没有一种“更简单”的语法可以适用于“所有”类型的场景?由于总共可以定义 2^13 * 12 = 98,304 种不同的访问权限如果你能举例说明...那就太好了...

$ chmod +a "staff allow all" foo 

但据我所知,这是不可能的。有没有扩展属性方面的专家知道什么诀窍?

答案1

我不确定这是否有帮助,但由于每个 ACL 可以拥有多个权限,因此您可以使用几个环境变量(例如在您的 .profile 中)来简化操作。假设您的默认 shell 是 bash:

export FILE_ALL="read,write,append,execute,delete,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown"
export DIR_ALL="list,search,add_file,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown"

然后当需要授予权限时:

$ chmod +a "group:admin allow $FILE_ALL" foo

相关内容