Mac-Osx

通過 CLI 獲取 Mac OS X 的所有 ACL 屬性?

  • June 1, 2011

這很好,所有人都可以“發瘋”地從文件/文件夾中添加和減去 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

是否有允許“ALL”類型場景的“更簡單”的語法?由於總共有 2^13 * 12 = 98,304 種不同的訪問權限,因此您可以定義它,例如,如果您可以聲明…

$ chmod +a "staff allow all" foo 

但據我所知,這是不可能的。那裡有任何擴展屬性的大師知道任何技巧嗎?

我不確定這是否有幫助,但由於每個 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

引用自:https://serverfault.com/questions/275838