我正在尝试为组“域用户”添加 ACL,但由于组名中包含空格,因此 chmod 无法正确解析它:
$ 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
我该如何转义空格?我尝试了所有明显的方法,包括单引号、双引号和反斜杠。
答案1
自从苹果chmod 的来源可用,解析器中有一个提示:
if (strchr(pebuf, ':')) /* User/Group names can have spaces */
事实上,如果你阅读手册页,它是这样说的:
如果用户或组名包含空格,您可以使用“:”作为名称和权限之间的分隔符。
因此解决方案是:
$ chmod +a 'DOMAIN\Domain Users:allow list,search,readattr,readextattr,readsecurity,file_inherit,directory_inherit' shared