mac需通过三步设置差异化文件夹权限:先开启文件共享并分配基础角色;再用访达简介面板清除everyone等泛化权限组;最后用终端执行chmod +a命令添加acl细粒度规则。

Mac如何设置特定文件夹的访问权限,是指让不同用户对同一文件夹拥有差异化的操作能力——比如编辑员能改内容也能新建文件,审核员只能打开查看,归档员能存入新文件却删不掉旧文档。这不能靠访达简介面板里的“读与写/只读”二选一来实现,必须组合启用共享服务、清理泛化权限组、再用终端添加细粒度ACL规则。
第一步:开启文件共享并分配基础角色
所有特殊权限的前提是让目标文件夹在网络和本地账户层面“被看见”。不开启共享,其他用户连路径都找不到,ACL规则根本无从生效。
点击屏幕左上角苹果图标→选择“系统设置”→左侧边栏依次点击“通用”→“共享”→勾选“文件共享”复选框。
在“共享文件夹”区域下方点击“+”按钮→浏览并选中目标文件夹(例如 /Users/Shared/ProjectVault)→点击“添加”。
滚动至“用户”部分→点击右下角“+”按钮→在弹出窗口中添加已有本地账户,如 editor、reviewer、archivist。
为 editor 右侧权限选【读与写】;为 reviewer 选【只读】;为 archivist 选【可写入但不可删除】。【注意:“可写入但不可删除”是系统共享界面唯一能直接实现“禁止删除子项”的选项,它会自动禁用重命名与移除操作,但允许保存修改和新建文件】
第二步:用访达简介面板清除泛化权限组
共享设置只管网络可见性,而本地登录用户仍可通过访达直接访问路径。若不手动清除“everyone”“staff”等泛化条目,任何属于该组的用户都会绕过你精心设定的角色权限。
在访达中右键点击已加入共享列表的目标文件夹→选择“显示简介”。
滚动到底部“共享与权限”区域→点击右下角锁形图标→输入管理员密码解锁。
在用户列表中找到“everyone”,点击其右侧权限下拉菜单,选择“无访问权”。【跳过此步会导致任何属于staff组的用户(包括新创建账户)默认获得继承权限,彻底瓦解你的特殊设定】
若存在“staff”“wheel”等群组条目,也全部设为“无访问权”。
第三步:用终端添加精细ACL控制规则
前两步解决了“谁能看到”和“谁被排除”,但还缺最后一环:让 archivist 用户真正具备“可写入但不可删除”的能力。系统共享界面的同名选项只是表层映射,底层需用 chmod +a 命令补全ACL规则,否则新建文件后仍可能被误删。
打开“终端”应用,输入以下命令(将路径替换为你自己的目标文件夹):
chmod +a "archivist allow write,add_file,add_subdirectory,file_inherit,directory_inherit" /Users/Shared/ProjectVault
再执行一条禁止删除的补充规则:
chmod +a "archivist deny delete,delete_child,writeattr,writeextattr,writeacl,chown" /Users/Shared/ProjectVault
这条命令明确拒绝 archivist 对该文件夹及其所有子项执行删除、重命名、修改属性、更改权限、变更所有者等操作,但保留新建和修改文件的权利。所有规则自动继承到未来新增的子文件和子文件夹中。











