终端需手动授予“完全磁盘访问权限”才能读写受保护路径;须在系统设置中添加终端、勾选复选框、彻底退出并重启,Apple芯片Mac还需运行sudo killall -u $(whoami) Terminal刷新缓存。
终端在 macos 上默认无法读写桌面、文稿、icloud 云盘、外接硬盘,甚至系统配置路径(如 /system/volumes/data/library/preferences)。这不是文件权限(chmod)问题,而是系统级隐私控制机制——必须手动授予“完全磁盘访问权限”才能突破这层限制。
在系统设置中添加并启用终端
该权限不会自动弹出请求,必须人工添加:
- 打开「系统设置」→「隐私与安全性」→ 向下滚动找到「完全磁盘访问权限」
- 若列表中没有“终端”,点击右下角的「+」号
- 在访达窗口中,前往「应用程序 > 实用工具」,选中「终端」,点击「添加」
- 确保终端条目右侧的复选框已被勾选
- 关键一步:完全退出终端(关闭所有窗口,检查活动监视器中无 Terminal 进程),再重新启动
Apple 芯片 Mac 需额外刷新策略缓存
M1/M2/M3 Mac 会缓存旧权限状态,仅重启终端不够,需强制更新内核级沙盒策略:
- 打开已授权的终端,运行命令:
sudo killall -u $(whoami) Terminal - 输入管理员密码(输入时无显示,输完直接回车)
- 等待所有终端窗口自动关闭,再手动重新打开
验证是否真正生效
权限生效后,终端应能无障碍列出受保护路径内容:
- 执行:
ls /System/Volumes/Data/Library/Preferences/
成功返回大量.plist文件列表 → 权限已启用 - 若仍报
Operation not permitted,请检查:
— 复选框是否勾选
— 终端是否彻底退出(包括后台进程)
— Apple 芯片 Mac 是否执行了killall命令 - iCloud 云盘等子路径可能触发二次授权,首次访问
~/Library/Mobile\ Documents/com~apple~CloudDocs/时留意系统弹窗,点「好」确认
常见误区提醒
这项权限和传统 Unix 文件权限无关,也不同于管理员密码或 sudo:
-
chmod +x或sudo不能绕过完全磁盘访问限制 - 它不等于“可修改系统核心”,而是允许访问用户数据区 + 受保护系统路径(如偏好设置目录)
- 授予权限后,系统仍持续审计访问行为,日志可通过
log show --predicate 'subsystem == "com.apple.TCC"'查看


















