需三层控制:开启文件共享服务、在共享设置中为用户分配差异化权限(如“可写入但不可删除”)、用访达简介和终端命令加固本地ACL,确保多用户安全协作。
要让多个用户在 macos 上安全、稳定地协作开发一个共享目录,不能只靠“勾选读写”就完事。核心是三层控制:系统级共享服务开启、文件夹本体 acl 精确授权、终端命令补足图形界面做不到的限制(比如允许编辑但禁止删除)。下面分三步说清楚。
第一步:启用文件共享并添加协作目录
这一步是基础前提——不开启共享,其他用户连路径都看不到,更别说读写了。
- 打开“系统设置 → 通用 → 共享”,勾选“文件共享”
- 点击“共享文件夹”下方的“+”,选择你的开发目录(例如 /Users/Shared/dev-project)
- 确保该目录已存在,且你当前以管理员身份登录
第二步:为每个用户分配差异化权限
在共享界面中直接设置权限,是最可靠的方式,尤其“可写入但不可删除”这个选项,只有这里能真正生效。
- 在“用户”列表下方点“+”,添加所有需协作的账户(如 dev1、dev2、reviewer)
- 为开发者设为“读与写”,允许改代码、删临时文件、运行脚本
- 为审核人设为“可写入但不可删除”,可加 review 注释、提交 PR 摘要,但不会误删源码
- 务必取消勾选“连接到共享文件夹时允许访客访问”,防止未授权访问
第三步:用访达简介 + 终端加固本地权限
仅靠共享设置不够——用户若本地登录,可能绕过网络层权限。必须同步修改文件夹本体的 ACL。
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
- 在访达中右键点击该目录 → “显示简介” → 展开“共享与权限” → 点锁图标输入密码解锁
- 将“everyone”和“staff”全部设为“无访问权限”,避免泛化组覆盖精细设定
- 点击“+”,添加具体用户(如 dev1),设为“读取与写入”,再勾选“应用到 enclosed items”
- 打开终端,执行以下命令,确保开发者可新建文件但不能删主目录内容:
验证是否生效:运行 ls -le /Users/Shared/dev-project,确认输出中含 dev1 条目且不含 delete 或 delete_child。










