macOS 10.15下为/Volumes目录添加用户读写权限且不修改所有者
不修改所有者为/Volumes目录添加用户读写权限的解决方案
问题分析
你需要为用户test添加/Volumes目录的读写权限,但不能改变该目录原有的system所有者。之前尝试的chown命令会直接修改所有者,不符合需求;使用chmod +a添加ACL时,权限被设为自定义且无法正常生效,核心原因是ACL权限参数不完整,没有覆盖读写操作所需的全部权限项。
正确解决方案
使用chmod的ACL扩展功能,添加包含完整读写操作所需权限的规则,同时保留原所有者。以下是修正后的AppleScript代码:
set userName to "test" set folderPath to "/Volumes/" set scriptName to "/Users/test/Desktop/mk.sh" do shell script "chmod +a \"" & userName & " allow read,write,add_file,add_subdirectory,delete_child,file_inherit,directory_inherit\" " & quoted form of folderPath with administrator privileges do shell script scriptName
关键说明
- 新增权限参数:
add_file(允许创建文件)、add_subdirectory(允许创建子目录)、delete_child(允许删除目录内的文件/子目录)是完整读写所需的核心权限,仅read,write无法覆盖所有操作场景。 file_inherit和directory_inherit确保新增的ACL规则会继承到后续在/Volumes下创建的文件和子目录,避免权限失效。- 执行后可通过终端命令
ls -le /Volumes/验证:查看输出确认system仍是目录所有者,且test用户的ACL规则已正确添加。
注意事项
/Volumes是系统默认挂载目录,修改其权限可能影响后续挂载的外部存储卷,操作前建议备份相关配置。- 必须保留
with administrator privileges,以获取足够权限执行ACL修改操作。
内容的提问来源于stack exchange,提问作者sanket phatak
相关产品推荐
相关产品推荐

