多用户共享目录安全权限需按需分配读写删权限并阻断未授权访问,依赖系统级共享设置、目录级acl及unix底层权限协同控制。
为多用户共享目录设置安全权限,关键不是“让所有人能写”,而是按需分配读、写、删权限,并阻断未授权访问。macos 的文件共享权限控制依赖系统级设置与目录级 acl 协同生效,不能只靠 finder 右键“显示简介”简单勾选。
在“系统设置→通用→共享”中启用并精调文件共享服务
这是所有共享行为的入口开关,必须先打开并明确限定范围:
- 进入 系统设置 → 通用 → 共享,勾选“文件共享”;
- 点击右侧“+”添加要共享的文件夹——强烈建议只添加 /Users/Shared 下的子目录(如
/Users/Shared/TeamDocs),避免直接共享用户主目录或系统路径; - 在下方用户列表中,点击“+”添加具体账户(如 “teacher”“student”),不要选“所有人”或“访客”;
- 对每个用户单独设置权限:只读(适合查阅)、读与写(可编辑但不能删)、可写入但不可删除(需终端配合,防误删核心文档)。
关闭访客直连,防止局域网越权访问
即使你没主动启用访客账户,只要“连接到共享文件夹时允许访客访问”被勾选,任何连上同一局域网的设备都可能绕过账户认证,直接读取你开放的共享内容:
- 回到“用户与群组”设置页,找到“访客用户”条目;
- 确保未勾选“连接到共享文件夹时允许访客访问”;
- 若已启用访客登录,也请一并取消勾选“允许访客用户登录到这台Mac”,双重保险。
用终端加固目录底层权限(可选但推荐)
图形界面设置只控制 SMB/AFP 协议层访问,而 macOS 底层仍受 Unix 权限约束。尤其当多人通过终端或脚本操作共享目录时,需补足这一层:
- 假设共享目录是
/Users/Shared/ProjectX,你想让 userA 和 userB 都能写,但彼此不能删对方文件: - 先创建专用组(如
projectx-team),把 userA、userB 加入该组; - 执行:
sudo chgrp -R projectx-team /Users/Shared/ProjectX; - 再设权限:
sudo chmod -R 2775 /Users/Shared/ProjectX(其中2是 setgid 位,确保新文件自动继承组归属)。
验证权限是否真正生效
别只看设置界面——实际测试最可靠:
- 用标准用户账户登录,尝试在 Finder 中打开共享目录,确认能否看到、打开、保存文件;
- 切换到另一用户,尝试删除对方刚存的文件,应提示“无权更改”;
- 从另一台 Mac 或 Windows 设备,用对应账户凭据连接该共享,重复上述操作。










