Snap 的 confinement 隔离级别
讲清 Snap 应用三档隔离级别(strict/classic/daily-managed)的含义、各自能力边界与安全风险,判断某应用是否 classic 的方法。
结论先行
Snap 应用按**隔离级别(confinement)**分三档:strict 默认沙箱最严、classic 基本不隔离(等于装系统软件)、devmode 介于两者。装大应用前用 snap info 看一眼级别,能解释它为什么「能碰全盘」或「装完没声音」。
三档对照
| 级别 | 特点 | 典型场景 |
|---|---|---|
| strict | 沙箱内运行,文件访问按接口放行 | 浏览器、编辑器 |
| devmode | 沙箱但权限宽松,多用于开发 | 开发工具 |
| classic | 脱离沙箱,权限等同系统包 | 桌面管理器、需驱动的系统级应用 |
查看级别:
snap info firefox # 找 Confinement: 字段
snap list # 已装应用的级别列
classic 应用的安全边界 ≈ 你 apt 装的任何包;strict 应用则默认「看不见」沙箱外文件系统,装完打不开旧配置是正常现象,不是坏。
strict 应用「打不开文件」怎么办
默认严格模式不开放用户目录的细粒度读写;需要时让应用声明对应接口(home 接口)或改用经典级别重新发布。改级别要应用方重新签名,终端用户单方面改不了。
与发行版的关系
接口清单与级别语义随 Snap 版本演进,以 snapd 官方文档为准;发行版索引见 Ubuntu 索引页。