You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过终端编程方式启用macOS辅助功能权限以允许发送按键操作

你之前修改的com.apple.universalaccessAuthWarning是权限申请警告弹窗的控制配置,和实际辅助功能权限开关没有关联。macOS的辅助功能权限统一存储在/Library/Application Support/com.apple.TCC/TCC.dbSQLite数据库中,可通过以下步骤完成编程式配置:


操作步骤

  1. 确认目标应用的Bundle ID
    执行以下命令获取脚本编辑器(Script Editor)的Bundle ID:
mdls -name kMDItemCFBundleIdentifier /Applications/Utilities/Script\ Editor.app

返回值为com.apple.ScriptEditor2即为正确结果。

  1. 写入权限配置到TCC数据库
    执行root权限命令插入/更新权限条目:
sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR REPLACE INTO access VALUES('kTCCServiceAccessibility','com.apple.ScriptEditor2',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,strftime('%s','now'));"
  1. 重启TCC服务使配置生效
    无需重启整机,执行以下命令重启权限服务即可生效:
sudo killall tccd

Ansible批量配置示例

可直接通过ansible的shell模块批量执行上述操作,对应task配置参考:

- name: 批量配置Script Editor辅助功能权限
  become: yes
  shell: |
    sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR REPLACE INTO access VALUES('kTCCServiceAccessibility','com.apple.ScriptEditor2',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,strftime('%s','now'));"
    killall tccd

注意事项

  • 所有操作必须拥有root权限才可执行
  • 若macOS开启了系统完整性保护(SIP),默认禁止直接修改TCC.db,可通过企业级MDM描述文件推送权限配置,或临时关闭SIP后操作
  • 若需为其他应用/二进制文件配置权限,替换上述命令中的Bundle ID即可;无Bundle ID的二进制可将第二个参数改为二进制绝对路径,第三个参数从0改为1

内容的提问来源于stack exchange,提问作者Rostislav Shtanko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 19:18:04