You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Strict模式Snap无Plugs却可访问主机SSH密钥?WSL2下的异常疑问

问题原因分析

核心问题:WSL2 默认未启用 AppArmor,导致 Snap 隔离失效

Snap 的 strict 隔离模式依赖 AppArmor(Linux 内核安全模块)来强制实施文件访问限制。但 WSL2 的默认内核配置通常没有编译或启用 AppArmor 支持,这就导致 Snap 的沙箱规则根本无法生效——哪怕你配置了 confinement: strict,也只是个“摆设”,程序能随意访问系统文件。

关于 --dangerous 参数的说明

你理解的没错,--dangerous 仅用于跳过 Snap 包的签名验证,完全不会改变 confinement 模式。这个参数和本次的权限问题无关,不用背锅。

验证与确认步骤

你可以在 WSL2 终端里执行以下命令,确认 AppArmor 的状态:

aa-status

如果输出提示 apparmor module is not loaded 或类似内容,就坐实了是 AppArmor 未启用导致的隔离失效。

临时解决思路(仅用于测试)

如果要在 WSL2 里验证 Snap 的 strict 隔离效果,需要手动启用 AppArmor:

  • 首先确保你的 WSL2 内核版本足够新(建议 5.10+)
  • 加载 AppArmor 模块:
sudo modprobe apparmor
  • 启用 AppArmor 服务:
sudo systemctl start apparmor

之后重新安装你的测试 Snap 包,再运行脚本,应该就会出现预期的访问拒绝错误了。

不过要注意:WSL2 对 AppArmor 的支持并不完善,可能会出现兼容性问题,不建议在生产环境这么搞。

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 10:42:35