macos无统一“所有软件运行权限”终端开关,仅能通过tccutil管理tcc隐私权限、spctl控制gatekeeper安装策略、xattr清除隔离属性,sip保护区域及辅助功能等权限终端无法直接授予。
macos 没有“所有软件运行权限”的统一终端开关。软件能否运行,取决于多个独立机制:gatekeeper(安装来源验证)、tcc(隐私权限控制)、文件执行权限、以及系统完整性保护(sip)的限制。终端能干预的,仅是其中部分环节,且需明确目标场景。
查看和重置隐私类运行所需权限(TCC)
这类权限决定App能否访问相机、通讯录、定位、辅助功能、全盘访问等。它们由 TCC 框架管理,终端可通过 tccutil 操作:
查看当前已记录的授权项(macOS 13+):
tccutil list重置某类权限(例如让某个App下次再弹窗请求):
tccutil reset Cameratccutil reset Microphonetccutil reset FullDiskAccesstccutil reset Accessibility重置全部 TCC 授权(谨慎使用,会清空所有 App 的隐私选择):
tccutil reset All
⚠️ 注意:tccutil list 显示的是数据库记录,不等于当前开关状态;像“全盘访问”在新版中默认不列出来,重置后仍需手动在「系统设置 → 隐私与安全性」中勾选。
允许来自任意来源的App安装与运行
这是 Gatekeeper 控制的安装门槛,影响双击运行 .app 或 .pkg 是否被拦截:
关闭 Gatekeeper(终端执行后,系统设置里“允许从以下位置下载的应用”会变为“任何来源”):
sudo spctl --master-disable重新启用(推荐日常开启):
sudo spctl --master-enable
macOS Automator Services下载部署和使用军舰的 macOS Automator 自动化服务集合。包含 5 个实用工作流:PDF转JPG、PNG重命名并转JPG、图像拼接、解压RAR、顺序命名图像文件。一键安装所有服务到 ~/Library/Services/ 目录。使用场景:(1) "安装我的自动化服务",(2) "部署所有 Automato...
✅ 执行后需在「系统设置 → 隐私与安全性 → 安全性」中手动点击“仍要打开”,才能首次运行被拦截的App。
修复因权限错乱导致的“无法打开”问题
有些App报“已损坏”或“无法验证开发者”,常因代码签名失效或权限继承异常:
清除特定App的隔离属性(绕过“未知开发者”警告):
xattr -d com.apple.quarantine /Applications/YourApp.app批量清除当前用户下载目录下所有文件的隔离属性(慎用):
xattr -rd com.apple.quarantine ~/Downloads/
补充说明:哪些权限终端管不了?
- SIP 保护的路径(如
/System、/bin)禁止修改,强行禁用 SIP 风险极高,不建议; - 某些新版本 macOS(如 Sequoia 15)对 TCC 数据库加密或内存映射,
sqlite3直接改库已基本失效; - “辅助功能”或“自动化”权限一旦拒绝,终端无法自动授予,必须手动在系统设置中开启;
- MDM 管理的设备,权限策略由服务器下发,本地终端命令可能被覆盖。
不复杂但容易忽略。










