跳到正文

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"

含义是:根范围可读,工作区可写。readwritedeny 是当前文件系统规则支持的核心值。

自定义只读审查 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关闭或白名单写入全部拒绝
日常修 BugWorkspace依赖域名白名单安装、删除、部署询问
代码审查Read Only通常关闭不允许修改
前端浏览器 QAWorkspace仅目标站点表单提交和账号操作询问
部署生产最小必要写入部署域名每次人工确认

多智能体场景中,不同角色应使用不同权限。探索和审查 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 字段;
  • 当前会话临时权限。

高优先级层可能覆盖低优先级层。

第三步:确认项目是否可信

项目级配置通常只有在仓库被信任后才会加载。陌生仓库不要为了让配置生效就直接标记可信,应先审查内容。

第四步:做最小权限测试

  1. 在工作区读取一个普通文件;
  2. 在工作区创建测试文件;
  3. 尝试读取工作区外非敏感文件;
  4. 尝试写入工作区外测试目录;
  5. 访问一个未在白名单中的域名。

记录哪些成功、哪些被拒绝,比直接运行高风险命令更安全。

第五步:区分沙箱拒绝和操作系统拒绝

outside workspace、sandbox denied 更像 Codex 边界;Permission denied、Access is denied 也可能来自 Windows ACL、文件所有权、杀毒软件或文件占用。症状排查见 Codex 无法修改文件怎么办

Windows 权限注意事项

Windows 上还可能受 ACL、受控文件夹访问、企业策略、PowerShell 执行策略和原生沙箱组件影响。不要把所有失败都归因于 Codex 配置。

建议:

  1. 使用普通用户运行;
  2. 不长期使用管理员权限;
  3. 工作区放在当前用户明确可写的位置;
  4. 检查文件是否被编辑器、同步盘或构建进程占用;
  5. 先用空测试目录验证;
  6. Windows Sandbox 问题单独参考 Codex Windows 桌面版与 Sandbox 指南

权限与浏览器任务

浏览器测试常同时需要网络和本地项目读取。不要直接开 Full Access,可以使用:

  • 工作区写入;
  • 目标域名网络白名单;
  • 文件上传仅允许脱敏测试文件;
  • 表单提交保留确认;
  • 下载目录限定为临时目录。

完整流程见 Codex 内置浏览器与网页调试指南

FAQ

Codex 日常开发用什么权限最好

通常从 Workspace 开始:当前项目可写,其他位置受限,高风险操作保留确认。

Full Access 会让 Codex 更聪明吗

不会。它只扩大可执行范围,不提高模型能力。需求不清楚时,Full Access 只会放大误操作风险。

Permission Profile 和 sandbox_mode 能一起配置吗

不建议在没有理解覆盖关系时混用。当前版本优先按官方文档选择一套体系,并用 /debug-config 确认实际来源。

denywriteread 冲突时谁优先

当前源码在同等具体程度下采用 deny 高于 write、write 高于 read。

AGENTS.md 可以提升权限吗

不能。AGENTS.md 只能描述工作规则,不能绕过文件系统、网络沙箱或操作系统权限。

为什么工作区可写但 .git 不能改

当前 Workspace 策略会额外保护 .git.agents.codex 等元数据目录,除非存在明确规则。这样可以减少历史和配置被意外改写。

本文来源与核验时间

本文中的配置为结构示意。Codex 权限体系正在演进,正式使用前请以当前版本官方文档、本机 /permissions/debug-config 为准。

相关教程

独立中文教程站,不是 OpenAI 官方网站。产品信息请以官方资料为准。