Skip to content
FunCoding

Search

Search docs, Skills and MCP

沙箱扩展审批与故障定位

判断权限拒绝、镜像缺依赖或网络限制,并审阅单次扩展请求。

This page has not been translated into English yet. The original Chinese version is shown below.

沙箱失败可能来自访问范围、容器依赖、网络或宿主文件权限。先定位拒绝发生在哪一层,再决定是否扩大权限。

单次扩展请求

命令被沙箱拒绝,或 CLI 预先判断命令需要额外权限时,会显示 Sandbox Expansion Request,说明额外目录或网络访问。批准后以扩展权限执行该次命令;不要将一次批准理解成对任意后续命令的授权。

工具级隔离

当前配置参考和固定 Schema 中,security.toolSandboxing 默认 false,修改后需重启。它决定隔离单次工具还是采用其他执行方式,和 tools.sandbox 的整个进程沙箱配置应分别检查。沙箱专页的“如何关闭”段落不代表它在所有版本默认开启。

常见症状

症状核对项
Operation not permitted / Permission denied目标路径是否在允许范围、profile、挂载权限
命令不存在镜像内是否安装该命令,是否需自定义预构建镜像
网络连接失败profile 是否允许网络,代理是否配置正确
文件归属异常Linux UID/GID 映射与宿主权限
Windows 会话后权限仍不同原生沙箱保留的 Low 完整性级别

不要把每个失败都改为全局无约束运行。确实缺少路径时,优先只补任务需要的挂载;镜像依赖缺失应修镜像。

调试日志

DEBUG=1 gemini -s -p "debug command"

项目普通 .env 的 DEBUG 默认被排除,专用 .gemini/.env 不受该排除规则影响。日志用于判断配置和拒绝原因;仅看到变量已设置不证明实际 provider 启动成功。

版本与平台检查

runsc 需显式选择,LXC 必须已有运行中的容器,BUILD_SANDBOX 自动构建仅适用于源码运行。不同安装方式出现差异时先核对这些前提,详见提供方与容器配置。