跳转至

SBIE2225

消息 SBIE2225 尝试访问 EFS 文件时被阻止:%2

严重性:警告

描述

当沙盘检测到沙箱内的进程尝试访问由 Windows 加密文件系统(EFS)保护的文件且该尝试被阻止或无法代理时,会记录此消息。

该消息包含被尝试访问的文件路径。多数情况下,这表明存在某些配置或证书问题,导致沙箱进程无法获得 EFS 访问权限。

常见原因

  • 沙箱设置 EnableEFS 未在沙箱中启用
  • 没有安装或激活带有加密功能的高级支持者证书
  • 被访问的路径不支持 EFS 代理(例如,不在受支持的设备路径下)
  • 由于权限、匹配或在用户服务组件中句柄复制错误,代理操作失败

沙盘的处理方式

  • 在文件打开/创建操作期间检测 EFS 保护文件
  • 如果已配置 EnableEFS,且支持者证书包含加密功能,沙盘会尝试通过将请求代理到用户服务(UserServer)服务,并将句柄复制回沙箱进程的方式完成文件操作
  • 如果代理失败,或不允许 EnableEFS,沙盘会记录 SBIE2225 并拒绝沙箱进程访问该文件

建议的操作

  1. 确认沙箱已在 沙盘配置 的沙箱部分或通过沙盘设置界面将 EnableEFS=y 配置启用 1
  2. 确保已安装并激活高级支持者证书,且该证书包含加密选项(opt_enc2
  3. 检查目标路径是否位于受支持的设备上(通常为 \Device\HarddiskVolume*3
  4. 如果你期望能正常访问 EFS,但实际无法访问,可启用驱动/文件追踪并收集日志,以协助诊断代理失败的原因(参见 TraceLogEnableEFS 文档) 4

相关消息与设置

  • SBIE6004 — 支持者证书丢失或权限不足 2
  • EnableEFS — 包含详细说明、示例及本页多处重复引用的附注
  • TraceLog — 显示沙盘监管下运行的程序访问的所有系统资源名称

实现说明与附注

下列说明引用了沙盘源代码的实现细节,适用于需要追溯 SBIE2225 消息生成方式的维护者和高级用户。


  1. EnableEFSEnableEFS 中介绍的沙箱级设置。启用后,沙盘允许为沙箱进程代理 EFS 访问请求 

  2. 证书检查在 UserServer 路径下执行代理操作时完成,代码会在允许 EFS 代理前同时验证 CertInfo.activeCertInfo.opt_enc。如果证书检查失败,代理请求会被拒绝,并可能记录 SBIE6004 或 SBIE2225 

  3. UserServer 仅允许代理操作路径以 \Device\HarddiskVolume(硬盘卷设备)开头的请求。非此设备路径不支持 EFS 代理 

  4. File_NtCreateFileProxy() 或相关代理代码在尝试处理 EFS 访问请求时失败,将记录 SBIE2225 错误。错误由代理路径下的 SbieApi_Log(2225, TruePath) 发出