codex cli 在 Windows 沙盒环境中触发权限拒绝的解决方案

2026-04-11 14:160阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

背景

codex cli在 Windows 沙盒环境(windows.sandbox = "elevated")中,对工作区外的路径没有完整权限(即使加 sandbox_workspace_write.writable_roots 也不行)

[!warning]
sandbox_mode = "danger-full-access" 可以解决,但这无异于脱裤子放屁,不是推荐的工作流

解决方案

简单来说,找到设备名称、codex 沙箱用户的组名、真实路径,加上 acl 权限就行了

举个例子

先找到 codex 沙箱用户的组名

一般来说,组名是 CodexSandboxUsers

如果不确定,可以让 codex 执行 whoami /groups

获取设备名称

设备名称在 系统设置 - 系统 - 关于 - 设备规格 中可以找到,或者在 cli 中执行 hostname 得到

找到要改的路径

uv 是安装到全局路径,然后以硬链接的方式放到项目中的,所以给项目中的虚拟环境改权限是无济于事的

要想找到真实路径,可以执行 fsutil hardlink list "{项目内依赖文件的路径}"

[!tip]-
严格来说,建立硬链接后,真实文件将存在于底层,无论是缓存目录还是虚拟环境文件,都是桌面系统对其的引用,都不算是真实路径。

阅读全文
问题描述:

背景

codex cli在 Windows 沙盒环境(windows.sandbox = "elevated")中,对工作区外的路径没有完整权限(即使加 sandbox_workspace_write.writable_roots 也不行)

[!warning]
sandbox_mode = "danger-full-access" 可以解决,但这无异于脱裤子放屁,不是推荐的工作流

解决方案

简单来说,找到设备名称、codex 沙箱用户的组名、真实路径,加上 acl 权限就行了

举个例子

先找到 codex 沙箱用户的组名

一般来说,组名是 CodexSandboxUsers

如果不确定,可以让 codex 执行 whoami /groups

获取设备名称

设备名称在 系统设置 - 系统 - 关于 - 设备规格 中可以找到,或者在 cli 中执行 hostname 得到

找到要改的路径

uv 是安装到全局路径,然后以硬链接的方式放到项目中的,所以给项目中的虚拟环境改权限是无济于事的

要想找到真实路径,可以执行 fsutil hardlink list "{项目内依赖文件的路径}"

[!tip]-
严格来说,建立硬链接后,真实文件将存在于底层,无论是缓存目录还是虚拟环境文件,都是桌面系统对其的引用,都不算是真实路径。

阅读全文