“完全磁盘访问权限”是macos自mojave(10.14)起引入的系统级授权,专用于允许应用读写桌面、文档、icloud drive、外接硬盘及受保护路径(如/system/volumes/data/library/preferences),需手动在“系统设置→隐私与安全性→完全磁盘访问权限”中添加应用并重启生效,apple芯片mac还需运行sudo killall命令刷新策略。

macOS 中的“完全磁盘访问权限”不是泛指所有权限,而是特指一项关键系统级授权——允许应用读写用户文档、桌面、下载、iCloud Drive、外接硬盘及系统受保护路径(如 /System/Volumes/Data/Library/Preferences)的能力。它不等于“管理员权限”,也不代表可任意修改系统核心文件,而是 macOS 自 Mojave(10.14)起引入的细粒度访问控制机制,专为需要深度文件操作的工具设计。
哪些应用需要完全磁盘访问权限
这类权限通常被以下类型的应用明确要求:
-
终端(Terminal):执行
rsync全盘备份、挂载磁盘镜像、修改系统偏好设置文件等操作时必需 - 自动化工具:如 Apple MCP、Keyboard Maestro、Hazel 等需跨目录批量处理文件的工具
- 备份与同步软件:Carbon Copy Cloner、ChronoSync、某些云同步客户端
- 开发调试工具:Xcode 的部分诊断功能、自定义构建脚本涉及系统路径访问时
如何手动授予完全磁盘访问权限
该权限必须通过系统设置手动添加,不会自动弹出请求:
- 打开系统设置 → 隐私与安全性 → 完全磁盘访问权限
- 若列表中未显示目标应用,点击右下角“+”号
- 在访达窗口中定位到应用位置(例如 Terminal 在应用程序 > 实用工具)并添加
- 确保其右侧复选框已被勾选
- 完全退出该应用(包括后台进程),再重新启动,权限才生效
Apple 芯片 Mac 的额外步骤
搭载 M 系列芯片的 Mac 还需刷新策略缓存,否则权限可能不立即生效:
- 打开终端,运行命令:
sudo killall -u $(whoami) Terminal - 输入管理员密码后,系统将终止当前用户的所有 Terminal 进程
- 重启 Terminal,再测试敏感路径访问(如
ls /System/Volumes/Data/Library/Preferences)
验证权限是否生效
最直接的验证方式是尝试访问受保护路径:
- 在终端中执行:
ls ~/Library/Preferences/(普通权限即可) - 再试:
ls /System/Volumes/Data/Library/Preferences/ - 若返回目录内容而非
Operation not permitted错误,说明完全磁盘访问已成功启用
这项权限不可绕过,也不能用 sudo 临时替代——它是沙盒模型下的硬性隔离。授予权限后,系统仍会持续审计访问行为,日志可通过 log show --predicate 'subsystem == "com.apple.TCC"' --last 1h 查看。











