SBIE2225
消息 SBIE2225 尝试访问 EFS 文件时被阻止:%2
严重性:警告
描述
当沙盘检测到沙箱内的进程尝试访问由 Windows 加密文件系统(EFS)保护的文件且该尝试被阻止或无法代理时,会记录此消息。
该消息包含被尝试访问的文件路径。多数情况下,这表明存在某些配置或证书问题,导致沙箱进程无法获得 EFS 访问权限。
常见原因
- 沙箱设置
EnableEFS未在沙箱中启用 - 没有安装或激活带有加密功能的高级支持者证书
- 被访问的路径不支持 EFS 代理(例如,不在受支持的设备路径下)
- 由于权限、匹配或在用户服务组件中句柄复制错误,代理操作失败
沙盘的处理方式
- 在文件打开/创建操作期间检测 EFS 保护文件
- 如果已配置
EnableEFS,且支持者证书包含加密功能,沙盘会尝试通过将请求代理到用户服务(UserServer)服务,并将句柄复制回沙箱进程的方式完成文件操作 - 如果代理失败,或不允许
EnableEFS,沙盘会记录 SBIE2225 并拒绝沙箱进程访问该文件
建议的操作
- 确认沙箱已在 沙盘配置 的沙箱部分或通过沙盘设置界面将
EnableEFS=y配置启用 1 - 确保已安装并激活高级支持者证书,且该证书包含加密选项(
opt_enc) 2 - 检查目标路径是否位于受支持的设备上(通常为
\Device\HarddiskVolume*) 3 - 如果你期望能正常访问 EFS,但实际无法访问,可启用驱动/文件追踪并收集日志,以协助诊断代理失败的原因(参见
TraceLog及EnableEFS文档) 4
相关消息与设置
实现说明与附注
下列说明引用了沙盘源代码的实现细节,适用于需要追溯 SBIE2225 消息生成方式的维护者和高级用户。
-
证书检查在 UserServer 路径下执行代理操作时完成,代码会在允许 EFS 代理前同时验证
CertInfo.active及CertInfo.opt_enc。如果证书检查失败,代理请求会被拒绝,并可能记录 SBIE6004 或 SBIE2225 ↩↩ -
UserServer 仅允许代理操作路径以
\Device\HarddiskVolume(硬盘卷设备)开头的请求。非此设备路径不支持 EFS 代理 ↩ -
当
File_NtCreateFileProxy()或相关代理代码在尝试处理 EFS 访问请求时失败,将记录 SBIE2225 错误。错误由代理路径下的SbieApi_Log(2225, TruePath)发出 ↩