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