Mac需分三步实现复杂文件夹权限:先启用系统“文件共享”并添加目标文件夹;再通过共享界面为不同用户分配“读与写”“只读”“可写入但不可删除”权限;最后用访达清除泛化组权限,并用终端chmod +a命令添加ACL精细规则。

Mac怎么给文件夹设置复杂的访问权限,是指让设计师能新建和编辑设计稿但不能删原始素材,让审核员只能看不能改,让归档员可写入但禁止重命名或移除任何子项——这些需求无法靠访达简介面板的“读与写/只读”二选一实现,必须分层配置系统共享、文件本体ACL和终端级精细规则。
启用文件共享并绑定目标文件夹
这一步是所有远程与本地多用户权限生效的强制前提。不开启共享,其他账户连路径都看不到,后续所有ACL或chmod设置都仅对当前登录用户有效。
点击屏幕左上角苹果图标→选择“系统设置”→左侧边栏依次点击“通用”→“共享”→勾选“文件共享”复选框。
在“共享文件夹”区域下方点击“+”按钮→浏览并选中目标文件夹(例如/Users/Shared/ProjectVault)→点击“添加”。
若跳过此步直接改权限,其他用户登录后访达里搜不到该路径,终端里 ls 也列不出内容,更别说访问控制了。
为不同用户分配差异化操作权限
系统共享界面提供的三种权限档位,是唯一能直接触发底层ACL行为的图形化入口。其中“可写入但不可删除”不是视觉开关,而是真实禁用 delete_child 和 rename 操作的系统级策略。
滚动至“用户”部分→点击右下角“+”按钮→在弹出窗口中添加已有本地账户,如 designer、reviewer、archivist。
为 designer 右侧权限选【读与写】;为 reviewer 选【只读】;为 archivist 选【可写入但不可删除】。
【注意:“可写入但不可删除”会自动禁用子项重命名与移除操作,但允许新建、编辑、保存——这个行为无法通过 chmod 或访达简介面板模拟,必须通过共享界面设定才真正生效】
用访达简介面板清除泛化组权限
系统共享只管网络可见性,而本地直连用户仍可通过访达地址栏输入路径直达。必须手动清除 everyone、staff 等泛化条目,否则特殊权限会被覆盖。
在访达中右键点击已加入共享列表的目标文件夹→选择“显示简介”。
滚动到底部“共享与权限”区域→点击右下角锁形图标→输入管理员密码解锁。
在用户列表中找到“everyone”,点击其右侧权限下拉菜单,选择“无访问权”。若存在“staff”“wheel”等群组条目,也全部设为“无访问权”。
【跳过此步会导致任何属于 staff 组的用户(包括新创建账户)默认获得继承权限,彻底瓦解你的特殊设定】
用终端命令添加精细 ACL 规则
方法一:阻止指定用户删除子项但允许写入
打开“终端”,执行以下命令:
chmod +a "archivist allow write,append,read,execute,file_inherit,directory_inherit" /Users/Shared/ProjectVault
验证是否生效:运行 ls -le /Users/Shared/ProjectVault,确认输出中包含该条目且无 delete 权限。
方法二:全局禁止任何人删除该文件夹内任何内容(含所有者)
在终端中执行:
chmod +a "group:everyone deny delete_child,delete" /Users/Shared/ProjectVault
这条规则会覆盖所有用户对该文件夹内子项的删除能力,包括文件夹所有者本人——除非先用 chmod -a# 0 删除该条目,否则无法撤销。
方法三:强制新创建的子文件夹自动继承特定权限
执行:
chmod +a "archivist allow list,read,write,execute,file_inherit,directory_inherit" /Users/Shared/ProjectVault
其中 file_inherit 和 directory_inherit 是关键,它们确保 archivist 对所有新建文件和子文件夹都拥有对应权限,无需手动重复设置。

















