Что такое классический режим snap и почему некоторые snap не устанавливаются без него (например, MS Visual Studio)?

Что такое классический режим snap и почему некоторые snap не устанавливаются без него (например, MS Visual Studio)?

Я попытался установить MS Visual Studio Code как snap на Ubuntu 16.04 с помощью следующей команды:

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.

решение1

Смотретьэто короткое видеокоторый объясняет каждую из моделей ограничения, доступных в Snaps, почему --classicона существует и ее варианты использования.


Источники: Следующая документация взята изsnapcraft.io: политика ограничения свободы.

строгий

Это политика безопасности по умолчанию, применяемая к snap. Snap имеет права на чтение и/или запись только в своем собственном установочном пространстве и выбранных областях. Он имеет доступ к библиотекам, которые он объединяет и/или предоставляет core или ubuntu-core snap. Расширенные права могут быть предоставлены с помощью интерфейсов, которые подключаются либо во время установки, либо пользователем с помощьюбыстрое соединениекоманда. Например, домашний интерфейс предоставит права на чтение в домашнем каталоге пользователя.

Строгое ограничение дает вам следующие пути для чтения и/или записи:

  • /snap/snapname/revision (только для чтения, путь установки snap)
  • /var/snap/snapname/revision (чтение/запись, данные по ревизиям)
  • /var/snap/snapname/common (чтение/запись, общие данные)
  • /home/$USER/snap/snapname/revision (чтение/запись, данные пользователя для каждой ревизии)
  • /home/$USER/snap/snapname/common (чтение/запись, общие данные пользователя)

Посмотреть списокпеременные средыдля получения более подробной информации о том, что видно в строго ограниченной области привязки, а также о способах доступа к оболочке в пределах ограниченного пространства привязки.

devmode

Режим разработчика, также известный как devmode, использует те же политики безопасности, что и строгое ограничение, но отказы безопасности преобразуются в предупреждения /var/log/syslog(см.Отладка). Это полезно при привязке приложения, чтобы обнаружить, какие интерфейсы необходимо объявить. Привязки в режиме разработчика не могут быть выпущены в стабильное и потенциальное хранилищеканалы.

классический

Snap в классическом ограничении ведет себя как традиционно упакованное приложение с полным доступом к системе. В отличие от строгого и devmode, то, что классический snap видит как "/", является "/" хостовой системы, а не "/" основного snap. Snap, использующие эту полностью открытую политику безопасности, вручную просматриваются в хранилище и разрешены только в системах, где установлен snapdповерх традиционного дистрибутива Linux, в отличие от загрузки системы сЯдро Ubuntuизображение. Они могут быть выпущены во всех магазинахканалы.

Связанный контент