跳到正文

Windows 沙盒

设置 Windows 沙盒并核对权限、就绪状态和失败原因。

隔离与审批

沙盒限制命令及子进程可读取、写入和访问的范围;审批策略决定何时请求额外授权。两者不是同一个开关。设置审批为 never 不会扩大权限,受限命令应失败或采用允许的方法。

当前支持边界

Lime 通过 App Server 读取 Windows 沙盒就绪状态并启动 elevated 设置。当前没有 Microsoft Execution Containers(MXC)的选择与执行实现;不能添加 prefer_mxc、allow_mxc 或借用其他产品版本号声称兼容。

实际可用实现、系统能力和组织要求以本机 readiness 与执行结果为准。不能在设置失败时静默切换为完全访问。

检查就绪

在开始真实写入前检查当前权限、工作目录及 Windows 沙盒状态。App Server 客户端可调用 windowsSandbox/readiness,若需要更新或设置,再启动受支持流程并等待完成通知。

Windows 系统版本只是条件之一。企业策略、控制台能力、辅助程序、权限和安全软件都可能影响实际就绪;不要复制另一个产品的 Windows 最低版本表作为 Lime 保证。

为当前用户设置

powershell
lime sandbox setup --elevated --current-user

此操作会启动系统设置并可能要求管理员批准,应先确认影响。命令通过 App Server 执行,等待 windowsSandbox/setupCompleted;started 或进程启动不能代替最终 success。

当前控制面只允许 --current-user。尽管参数解析能识别目标用户相关字段,managed-user 设置并未暴露为可用流程,不应提供跨用户预配命令。

设置不等于提升执行

elevated 描述需要管理员批准的设置过程,不代表每个沙盒命令都应以管理员身份执行。完成后仍要验证命令在期望的低权限与文件范围内运行。

文件系统权限

检查命名权限档案、管理员要求、工作目录和 Windows ACL。项目目录移动或权限变化后重新核对。某个目录可被 Everyone 写入会削弱隔离,应由你或 IT 修正该目录权限,避免批量修改无关路径。

网络与后备方案

网络失败时先确认任务是否允许联网,再区分代理、DNS、TLS、系统策略与沙盒错误。仅在当前版本真实支持且组织允许时选择后备实现;不要自动关闭沙盒或复制未支持的配置字段。

需要 Linux 原生工具时,可以在 WSL2 准备独立的 Linux 环境。这样使用的是 Linux 执行与隔离,不是修复 Windows 沙盒。

企业设备问题

  1. 记录 Windows 版本、所选权限、运行组件版本与脱敏错误。
  2. 检查用户是否拒绝 UAC 或管理员确认。
  3. 请 IT 确认本地用户、登录权限、防火墙与安全策略允许当前设置。
  4. 修复策略后重新检查 readiness,再执行最小命令。

错误 1385

1385 通常表示 Windows 不允许目标用户使用所需登录类型。即使沙盒用户创建成功,也可能无法启动命令。由 IT 检查所需登录权、组策略与设备差异,不用给整个应用管理员权限掩盖根因。

验证允许与拒绝

  1. 运行一个只读命令,确认当前目录与文件可读。
  2. 在允许的临时项目文件中验证写入。
  3. 验证不允许目录与网络目标确实被拒绝。
  4. 确认结束、取消与子进程清理。

收集诊断

只提供必要的版本、错误、目标路径和脱敏日志。不要发送沙盒秘密目录、凭据、Cookie 或完整环境变量。设置超时或断连后先读取原设置状态,避免反复启动系统修改。