ls -e
以长(-l)输出打印与文件关联的访问控制列表(ACL)(如果存在)。
这给出了如下结果:
drwxr-xr-x@ 19 localadmin 646B Aug 4 00:21 APPBUNDLE
0: user:localadmin allow add_file,add_subdirectory,writeattr,writeextattr,writesecurity
⬆ ⇧ ⇶ ⬆
就个人而言,我有“出口” ~/.bash_profile
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
可能性成为可能...
sudo chmod + a“允许localadmin $ DIR_ALL” / APPBUNDLE
在chmod
手册页上,有一些信息……暗示您确实有可能做您所描述的事情。
“ ACL使用符号模式语法的扩展名进行操作。每个文件都有一个ACL,其中包含一个有序的条目列表。每个条目都引用一个用户或组,并授予或拒绝一组权限。组名称相同,用户/组名称可以以“ user:”或“ group:”为前缀,以指定名称的类型。
chmod -E
从stdin读取ACL信息,作为ACE的顺序列表,由换行符分隔。如果信息正确解析,则替换现有信息。
另外,我还要大声疾呼BatchMod,这是一部老歌,但对ACL来说是好东西,以及TinkerToolSystem。
getfacl
/setfacl
。非常了不起。github.com/jvscode/getfacl已经10岁了,我无法使其工作。serverfault.com/a/303752/104173看起来很复杂,目前尚不清楚它是否尝试替换get/setfacl
功能。我知道macOS不是服务器平台,但是它仍然会遇到安全漏洞。是否值得在apple.stackexchange.com上重新开始此对话?