主题
Codex 权限怎么设置?Permissions、Sandbox、Approval 与 Full Access 安全配置教程(2026)
更新时间:2026年8月5日
**Codex 权限由两件事共同决定:技术边界决定它能读写哪些文件、能访问哪些网络;审批策略决定某类操作是否必须暂停并询问。**日常开发建议使用 Workspace 权限,让 Codex 读取必要上下文、只写当前项目,并对高风险操作保留人工确认。不要把 Full Access 设成陌生仓库的默认值。
当前 Codex 正从旧版 sandbox_mode / approval_policy 逐步转向更细的 Permission Profiles。新旧教程混在一起,是“配置写了却不生效”的重要原因。本文会把两套概念分开。
国内开发路径
需要 Codex 国内版、中文开发工作流或高额度 GPT 编程模型,可以了解第三方平台 ZeoGPT。它不是 OpenAI 官方产品。第三方环境中不要上传 API Key、.env、生产日志、客户数据和完整私有仓库。
Codex Permissions、Sandbox 和 Approval 的区别
| 概念 | 回答的问题 | 例子 |
|---|---|---|
| Permissions / Permission Profile | 能读写哪些路径、能访问哪些网络 | 工作区可写,其他目录只读 |
| Sandbox | 命令在哪个隔离边界内执行 | read-only、workspace-write、full access |
| Approval | 遇到某类操作是否询问 | on-request、用户确认 |
| Full Access | 是否解除大部分本地限制 | 读取和写入更广范围 |
可以把 Permissions/Sandbox 理解为“门能不能打开”,Approval 理解为“开门前要不要问你”。即使审批设置为自动,沙箱禁止的路径仍不应该被访问;即使工作区可写,高风险命令也可以要求确认。
Codex 常见权限模式怎么选
Codex 当前源码和界面中可见三个常用内置档位:
| 模式 | 文件能力 | 推荐场景 | 风险 |
|---|---|---|---|
| Read Only | 读取允许范围,不写文件 | 陌生仓库、审查、研究 | 无法直接修复 |
| Workspace | 当前项目可写,其他位置受限 | 日常开发默认 | 仍需检查共享配置与命令 |
| Full Access | 更广泛读写与执行 | 受控环境中的特殊任务 | 误删、泄露和越权风险最高 |
陌生仓库先用 Read Only
先让 Codex 输出技术栈、构建命令、敏感目录和计划。确认没有可疑脚本后,再切到 Workspace。
日常开发使用 Workspace
这是大多数项目的合理默认值:Codex 可以修改项目文件和运行测试,但不应该获得整个磁盘的写权限。
Full Access 只做短时、明确任务
例如需要跨多个已知目录做迁移,且你已经备份、确认命令和回滚方案。完成后立即恢复更小权限。
在 Codex 会话中切换权限
当前 CLI 可使用:
text
/permissions打开权限选择。不同版本界面文案可能显示 Read Only、Ask for Approval、Full Access 或自定义 Profile。切换后运行:
text
/status确认实际生效的工作目录、权限、模型和会话状态。
如果 /permissions 不存在,先输入 / 查看当前命令,再升级 Codex。完整斜杠命令见 Codex CLI 常用命令大全。
新版 Permission Profiles 怎么配置
新版 Profiles 可以把文件系统和网络规则组合成一个命名策略,并通过 default_permissions 选择默认值。
下面是基于当前官方仓库结构的最小示意:
toml
default_permissions = "dev"
[permissions.dev]
description = "Daily work inside the current project."
[permissions.dev.filesystem]
":root" = "read"
":workspace_roots" = "write"含义是:根范围可读,工作区可写。read、write 和 deny 是当前文件系统规则支持的核心值。
自定义只读审查 Profile
toml
[permissions.audit]
description = "Read the project and review changes without writing files."
[permissions.audit.filesystem]
":workspace_roots" = "read"审查 Agent、SERP 研究和陌生仓库分析适合使用这类 Profile。
限制网络域名
toml
[permissions.dev.network]
enabled = true
mode = "limited"
[permissions.dev.network.domains]
"github.com" = "allow"
"api.github.com" = "allow"仅开放任务需要的域名,比直接允许所有网络更容易审计。字段可能继续调整,实施前核对 Codex Permissions 官方文档 与 配置参考。
文件权限规则的优先级
当前 Codex 源码对同等具体程度的冲突规则采用:deny 优先于 write,write 优先于 read。这意味着:
toml
[permissions.dev.filesystem]
":root" = "read"
":workspace_roots" = "write"可以先给予广泛只读,再对工作区提升为可写;如果更具体路径设置为 deny,它可以收紧访问。
还有一个容易忽略的安全细节:在 Workspace 写权限下,.git、.agents 和 .codex 等项目元数据路径当前会受到额外保护,除非存在明确覆盖规则。不要为了省事把这些目录全部改成可写。
旧版 sandbox_mode 与 approval_policy
旧教程常见:
toml
sandbox_mode = "workspace-write"
approval_policy = "on-request"它表达“工作区可写,遇到需要升级权限的操作时请求确认”。老版本或兼容模式中仍可能使用这些字段。
**不要在不了解配置层级时同时启用新版 Permission Profiles 和旧版 Sandbox 设置。**某个活跃配置层、CLI 参数或 Profile 可能覆盖另一套配置,让你误以为文件位置或语法错误。优先根据当前官方文档选择一套体系,并用 /debug-config 查看来源。
五种任务的权限推荐
| 任务 | 文件权限 | 网络 | 审批建议 |
|---|---|---|---|
| 阅读陌生仓库 | Read Only | 关闭或白名单 | 写入全部拒绝 |
| 日常修 Bug | Workspace | 依赖域名白名单 | 安装、删除、部署询问 |
| 代码审查 | Read Only | 通常关闭 | 不允许修改 |
| 前端浏览器 QA | Workspace | 仅目标站点 | 表单提交和账号操作询问 |
| 部署生产 | 最小必要写入 | 部署域名 | 每次人工确认 |
多智能体场景中,不同角色应使用不同权限。探索和审查 Agent 通常只读,只有指定实现 Agent 获得工作区写入。参见 Codex 多智能体与 Subagents 教程。
哪些操作不应该自动批准
- 删除或覆盖大量文件;
git push --force、改写历史和发布版本;- 生产数据库迁移;
- 上传私有仓库或客户文件;
- 读取 SSH Key、浏览器凭据和云平台 Token;
- 修改系统服务、防火墙或安全软件;
- 安装来源不明的二进制程序;
- 付款、账号删除和权限提升;
- 将整个用户目录或磁盘设为可写。
即使任务看起来重复,也应该把高影响操作留给人工确认或受控 Hook。
Codex 权限不生效怎么排查
第一步:查看当前状态
text
/status
/debug-config确认当前 Profile、工作目录和配置来源。不要只看你刚编辑的那个 config.toml。
第二步:检查配置层
可能存在:
- 用户级配置;
- 项目
.codex/config.toml; - CLI 临时参数;
- Agent 角色配置;
- 组织管理策略;
- 旧版 sandbox 字段;
- 当前会话临时权限。
高优先级层可能覆盖低优先级层。
第三步:确认项目是否可信
项目级配置通常只有在仓库被信任后才会加载。陌生仓库不要为了让配置生效就直接标记可信,应先审查内容。
第四步:做最小权限测试
- 在工作区读取一个普通文件;
- 在工作区创建测试文件;
- 尝试读取工作区外非敏感文件;
- 尝试写入工作区外测试目录;
- 访问一个未在白名单中的域名。
记录哪些成功、哪些被拒绝,比直接运行高风险命令更安全。
第五步:区分沙箱拒绝和操作系统拒绝
outside workspace、sandbox denied 更像 Codex 边界;Permission denied、Access is denied 也可能来自 Windows ACL、文件所有权、杀毒软件或文件占用。症状排查见 Codex 无法修改文件怎么办。
Windows 权限注意事项
Windows 上还可能受 ACL、受控文件夹访问、企业策略、PowerShell 执行策略和原生沙箱组件影响。不要把所有失败都归因于 Codex 配置。
建议:
- 使用普通用户运行;
- 不长期使用管理员权限;
- 工作区放在当前用户明确可写的位置;
- 检查文件是否被编辑器、同步盘或构建进程占用;
- 先用空测试目录验证;
- Windows Sandbox 问题单独参考 Codex Windows 桌面版与 Sandbox 指南。
权限与浏览器任务
浏览器测试常同时需要网络和本地项目读取。不要直接开 Full Access,可以使用:
- 工作区写入;
- 目标域名网络白名单;
- 文件上传仅允许脱敏测试文件;
- 表单提交保留确认;
- 下载目录限定为临时目录。
完整流程见 Codex 内置浏览器与网页调试指南。
FAQ
Codex 日常开发用什么权限最好
通常从 Workspace 开始:当前项目可写,其他位置受限,高风险操作保留确认。
Full Access 会让 Codex 更聪明吗
不会。它只扩大可执行范围,不提高模型能力。需求不清楚时,Full Access 只会放大误操作风险。
Permission Profile 和 sandbox_mode 能一起配置吗
不建议在没有理解覆盖关系时混用。当前版本优先按官方文档选择一套体系,并用 /debug-config 确认实际来源。
deny、write 和 read 冲突时谁优先
当前源码在同等具体程度下采用 deny 高于 write、write 高于 read。
AGENTS.md 可以提升权限吗
不能。AGENTS.md 只能描述工作规则,不能绕过文件系统、网络沙箱或操作系统权限。
为什么工作区可写但 .git 不能改
当前 Workspace 策略会额外保护 .git、.agents 和 .codex 等元数据目录,除非存在明确规则。这样可以减少历史和配置被意外改写。
本文来源与核验时间
- OpenAI Codex Permissions 官方文档
- OpenAI Codex 配置参考
- OpenAI 官方 openai/codex 仓库
- Bing 中文搜索结果快照:
Codex permissions、Codex sandbox、Codex 权限怎么设置,核验时间为 2026年8月5日
本文中的配置为结构示意。Codex 权限体系正在演进,正式使用前请以当前版本官方文档、本机 /permissions 和 /debug-config 为准。