Codex默认沙箱策略导致越权访问系统路径,需配置受信任目录白名单:先设sandbox.policy为workspace-write,再在config.toml中定义trusted_directories,绑定sandbox.root_dir与sandbox.trusted_dirs,最后验证并可选高级权限控制。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你在Codex里执行git commit或npm install时,突然弹出“权限拒绝:无法写入/etc/hosts”或“拒绝访问C:\Windows\System32\drivers\etc\”,说明Codex正试图越权操作系统关键路径——这不是Bug,而是它默认未受约束的沙箱策略在作祟。必须手动配置受信任目录白名单,否则AI代理会持续试探边界。
第一步:确认Codex当前沙箱模式
打开终端,运行:codex config get sandbox.policy。输出为read-only、workspace-write或full-access。只有workspace-write及以上才支持白名单配置;若显示read-only,先执行codex config set sandbox.policy workspace-write再继续。
第二步:编辑config.toml启用白名单机制
找到Codex配置文件路径:~/.codex/config.toml(Windows为%USERPROFILE%\.codex\config.toml)。用文本编辑器打开,在[sandbox]区块下添加:
trusted_directories = ["/home/yourname/project", "/opt/myapp/src"]
⚠️ 注意:路径必须为绝对路径,且不能包含符号链接。若路径含空格或中文,需用双引号包裹,例如"C:/Users/张三/My Project"。
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
第三步:设置沙箱根目录并绑定白名单
1、确定你要授权的项目根目录,例如/Users/alice/frontend;
2、执行命令:codex config set sandbox.root_dir "/Users/alice/frontend";
3、再运行:codex config set sandbox.trusted_dirs '["src", "tests", "scripts"]'。【这一步必须用单引号包裹JSON数组,否则解析失败】;
4、重启Codex CLI使配置生效。
第四步:验证白名单是否生效
进入已设为sandbox.root_dir的目录,运行:codex run --dry-run "touch ./src/newfile.js"。若返回✅ Allowed: write to ./src/newfile.js,说明白名单已起作用;若提示❌ Blocked: write outside trusted directories,检查./src是否在sandbox.trusted_dirs列表中,且未拼错大小写。
第五步:高级控制——按操作类型细分权限
方法一:限制仅允许读取特定目录
在config.toml中添加:
[[sandbox.read_only_paths]]<br> path = "/usr/local/bin"<br> recursive = true
方法二:禁止写入某子目录(即使父目录已信任)
[[sandbox.denied_paths]]<br> path = "/home/bob/project/node_modules"<br> reason = "prevents auto-install conflicts"
此配置优先级高于
trusted_directories,一旦匹配即拦截。
方法三:动态白名单(仅限CLI v2.8+)
创建~/.codex/trusted-dirs.d/目录,在其中新建myteam.toml,内容为:
[paths]<br>frontend = "/var/www/html"<br>backend = "/opt/api/src"。
然后执行:
codex config set sandbox.dynamic_whitelist_enabled true。

















