我正在尝试为组“Domain Users”添加一个ACL,但由于组名中有空格,因此chmod无法正确parsing:
$ chmod -R +a 'DOMAIN\Domain Users allow list,search,readattr,readextattr,readsecurity,file_inherit,directory_inherit' shared Unable to translate 'DOMAIN\Domain' to a UID/GID
我如何逃离这个空间? 我用单引号,双引号和反斜杠尝试了所有明显的方法。
由于苹果的chmod源代码可用,parsing器中有一个提示:
if (strchr(pebuf, ':')) /* User/Group names can have spaces */
事实上,如果你阅读手册页,它会说:
如果用户或组名包含空格,则可以使用“:”作为名称和权限之间的分隔符。
因此解决scheme是:
$ chmod +a 'DOMAIN\Domain Users:allow list,search,readattr,readextattr,readsecurity,file_inherit,directory_inherit' shared