快照的经典模式是什么?为什么没有快照就无法安装某些快照(例如MS Visual Studio)?


13

我尝试使用以下命令在Ubuntu 16.04上以快照方式安装MS Visual Studio Code:

sudo snap install vscode

但我遇到以下错误:

error: This revision of snap "vscode" was published using classic confinement and thus may perform
       arbitrary system changes outside of the security sandbox that snaps are usually confined to,
       which put your system at risk.

       If you understand and want to proceed repeat the command including --classic.

我想知道--classic标记的作用(不仅仅是man页面解释),以及为什么在安装Visual Studio Code时出现先前的错误。


我试过通过snap(with --classic)安装它,但是使用snap report error: cannot install "vscode": snap not found。可以安装了吗?
imrek

Answers:


10

观看这段简短的视频简要介绍每个可用的约束模型,--classic存在的原因及其用例。


来源:以下文档取自snapcraft.io:限制政策

严格

这是应用于快照的默认安全策略。快照仅在其自己的安装空间和选定区域中具有读取和/或写入权限。它可以访问它捆绑和/或由核心或ubuntu-core快照提供的库。可以通过接口授予扩展权限,这些接口可以在安装时或由用户使用snap connect命令连接。例如,家庭界面将授予用户家庭中的读取权限。

严格限制为您提供以下可读和/或可写路径:

  • / snap / snapname / revision(只读,快照安装路径)
  • / var / snap / snapname / revision(读/写,每个版本的数据)
  • / var / snap / snapname / common(读/写,通用数据)
  • / home / $ USER / snap / snapname / revision(读/写,每个版本的用户数据)
  • / home / $ USER / snap / snapname / common(读/写,普通用户数据)

有关严格限制的快照可见的内容以及在快照的受限空间内访问外壳的方法,请参见环境变量列表。

开发模式

开发人员模式(也称为devmode)使用与严格限制相同的安全策略,但是安全拒绝被转换为警告/var/log/syslog(请参阅Debugging)。在捕捉应用程序时,这很有用,以发现需要声明的接口。开发人员模式下的快照无法释放到稳定存储和候选存储通道中

经典

经典限制中的快照表现为传统打包的应用程序,可以完全访问系统。与严格和devmode相对,经典的快照显示为“ /”的是主机系统的“ /”,而不是核心快照的“ /”。使用此完全开放的安全策略的快照将在存储中进行手动检查,并且仅在将快照安装在传统Linux发行版之上的系统上才允许,而不是从Ubuntu Core映像引导系统。它们可以在所有商店渠道中发布。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.