这很好,人们可以“疯狂”在文件/文件夹中添加或删除 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