终端可深度干预macOS软件权限,需分层操作:tccutil重置TCC隐私权限、xattr解除quarantine隔离、spctl调整Gatekeeper策略、chmod/chown修复文件权限。
终端可以深度干预 macos 软件权限,但需注意:系统不提供“一键管理所有软件权限”的命令,而是按权限类型分层控制。核心操作围绕 tccutil(重置隐私授权)、xattr(解除隔离)、spctl(调整 gatekeeper 策略)和 chmod/chown(修复文件级权限)展开。
重置某 App 的全部隐私权限记录
当某个应用反复请求麦克风、位置或文件夹权限却无响应时,说明其 TCC(Transparency, Consent, and Control)数据库条目已损坏。用 tccutil 可强制清空:
- 重置单个 App 对“文件和文件夹”的访问权限:tccutil reset "SystemPolicyDocumentsFolder" com.example.app
- 重置摄像头权限:tccutil reset Camera com.example.app
- 重置辅助功能权限:tccutil reset Accessibility com.example.app
- 查看支持的权限类别列表:tccutil list -p(需 macOS 13.3+)
解除下载应用的 quarantine 隔离标记
从网页下载的 App 默认带 com.apple.quarantine 属性,即使权限已开,Gatekeeper 仍可能阻止启动。移除后系统视其为本地可信程序:
- 执行命令:xattr -d com.apple.quarantine /Applications/YourApp.app
- 若提示“Operation not permitted”,说明 SIP 未限制该路径,但需确认 App 是否在 /Applications 下;若在桌面或下载目录,先移到 Applications 再执行
- 验证是否清除成功:xattr -l /Applications/YourApp.app,输出中不应再出现 quarantined 字样
临时放宽 Gatekeeper 全局策略
适用于批量测试多个未公证应用,但不建议长期开启:
- 启用“任何来源”选项:sudo spctl --master-disable
- 恢复默认(仅允许 App Store 和已公证应用):sudo spctl --master-enable
- 查看当前策略状态:spctl --status
修复 App 自身的文件权限与归属
部分 App 启动失败并非权限缺失,而是二进制文件不可执行或归属错误:
- 修正所有者为当前用户:sudo chown -R $USER:staff /Applications/YourApp.app
- 赋予标准可执行权限:sudo chmod -R 755 /Applications/YourApp.app
- 检查关键可执行文件是否可运行:ls -l /Applications/YourApp.app/Contents/MacOS/,确保主二进制文件权限含
-rwxr-xr-x


















