mac文件夹特殊权限需通过启用文件共享、禁用泛化组权限、终端添加acl规则三步实现:先在系统设置开启文件共享并分配角色权限,再用访达简介面板清除everyone/staff等组的访问权并应用到子项,最后用chmod +a命令添加写入但不可删、继承及全局禁止删除等精细控制。

在Mac上给文件夹设置特殊的访问权限,是指突破“读与写/只读/无访问权”的基础三档限制,实现如“可新建文件但不能删除已有内容”“仅特定用户能写入且自动继承权限”“本地直连与网络访问权限分离”等定制化控制。这需要绕过访达简介面板的简化选项,进入系统级ACL和共享服务协同配置层。
启用文件共享并分配基础角色权限
这是所有特殊权限生效的前提——不开启共享,其他用户根本无法通过网络或本地账户发现该文件夹,后续所有ACL规则都形同虚设。
点击屏幕左上角苹果图标→选择“系统设置”→左侧边栏依次点击“通用”→“共享”→勾选“文件共享”复选框。
在“共享文件夹”区域下方点击“+”按钮→浏览并选中目标文件夹(例如/Users/Shared/ProjectVault)→点击“添加”。
滚动至“用户”部分→点击右下角“+”按钮→在弹出窗口中添加已有本地账户,如editor、reviewer、archivist。
为editor右侧权限选【读与写】;为reviewer选【只读】;为archivist选【可写入但不可删除】。【注意:“可写入但不可删除”是系统共享界面唯一能直接实现“禁止删除子项”的选项,它会自动禁用重命名与移除操作,但允许保存修改和新建文件】
用访达简介面板禁用宽泛访问组
系统共享设置只管网络可见性,而本地登录用户仍可通过访达直接访问路径。必须在文件夹本体上清除“everyone”“staff”等泛化条目,否则特殊权限会被覆盖。
在访达中右键点击已加入共享列表的目标文件夹→选择“显示简介”。
滚动到底部“共享与权限”区域→点击右下角锁形图标→输入管理员密码解锁。
在用户列表中找到“everyone”,点击其右侧权限下拉菜单,选择“无访问权”。
若存在“staff”“wheel”等群组条目,也全部设为“无访问权”。【跳过此步会导致任何属于staff组的用户(包括新创建账户)默认获得继承权限,彻底瓦解你的特殊设定】
点击齿轮图标→选择“应用到封闭的项目”→确认后权限递归作用于所有子文件与子文件夹。
用终端命令添加精细ACL规则
图形界面做不到的事,终端可以:比如让某用户只能追加日志但不能覆盖原文件、强制所有新建子项继承父目录ACL、或全局禁止任何人删除该目录下的任何内容。
打开“终端”(位于“访达→应用程序→实用工具”)。
执行以下命令,为editor用户添加“可写入但不可删”的底层ACL:
chmod +a "editor allow write,append,read,execute,file_inherit,directory_inherit" /Users/Shared/ProjectVault
验证是否生效:运行ls -le /Users/Shared/ProjectVault,确认输出中包含该条目且不含delete或delete_child权限。
若需彻底封锁删除行为,对文件夹本身添加deny规则:
chmod +a "group:everyone deny delete_child" /Users/Shared/ProjectVault
这条规则会覆盖所有用户(包括root),且优先级高于allow规则——只要文件夹内有内容,就无法被拖入废纸篓或用rm命令删除。











