Qual é o modo clássico de snap e por que alguns snaps não são instalados sem ele (por exemplo, MS Visual Studio)?

13

Tentei instalar o MS Visual Studio Code como snap no Ubuntu 16.04 com o seguinte comando:

sudo snap install vscode

mas eu tenho o seguinte erro:

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.

Gostaria de saber o que o --classicsinalizador faz (não apenas a manexplicação da página) e por que recebi o erro anterior enquanto instalava o Visual Studio Code.

Danibix
fonte
Eu tentei instalá-lo via snap (com --classic), mas snap relatórios error: cannot install "vscode": snap not found. Você conseguiu instalá-lo?
Mestre Bêbado

Respostas:

10

Assista a este pequeno vídeo que explica cada um dos modelos de confinamento disponíveis nos snaps, por que --classicexiste e seu caso de uso.


Fontes : A documentação a seguir é retirada de snapcraft.io: políticas de confinamento .

rigoroso

Essa é a política de segurança padrão aplicada aos snaps. O snap possui direitos de leitura e / ou gravação apenas em seu próprio espaço de instalação e áreas selecionadas. Ele tem acesso às bibliotecas que agrupa e / ou são fornecidas pelo snap ao núcleo ou ao ubuntu-core. Direitos estendidos podem ser concedidos com interfaces, que são conectadas no momento da instalação ou pelo usuário com o comando snap connect . Por exemplo, a interface inicial concederá direitos de leitura na página inicial do usuário.

O confinamento estrito fornece os seguintes caminhos legíveis e / ou graváveis:

  • / snap / snapname / revision (somente leitura, caminho de instalação do snap)
  • / var / snap / snapname / revision (leitura / gravação, dados por revisão)
  • / var / snap / snapname / common (leitura / gravação, dados comuns)
  • / home / $ USER / snap / snapname / revisão (leitura / gravação, dados do usuário por revisão)
  • / home / $ USER / snap / snapname / common (leitura / gravação, dados comuns do usuário)

Consulte a lista de variáveis de ambiente para obter mais detalhes sobre o que é visível para um snap estritamente confinado, bem como maneiras de acessar um shell no espaço confinado de um snap.

devmode

O modo de desenvolvedor, também conhecido como devmode, usa as mesmas políticas de segurança que o confinamento estrito, mas as negações de segurança são transformadas em avisos /var/log/syslog(consulte Depuração ). Isso é útil ao capturar um aplicativo, para descobrir quais interfaces precisam ser declaradas. Os snaps no modo desenvolvedor não podem ser liberados nos canais de armazenamento estável e candidato .

clássico

Um encaixe no confinamento clássico se comporta como um aplicativo tradicionalmente empacotado, com acesso total ao sistema. Ao contrário de strict e devmode, o que um snap clássico vê como "/" é o "/" do sistema host e não o "/" do snap ao núcleo. Os snaps que usam essa política de segurança totalmente aberta são revisados ​​manualmente na loja e são permitidos apenas nos sistemas em que o snapd está instalado sobre uma distribuição tradicional do Linux , em oposição à inicialização do sistema a partir de uma imagem do Ubuntu Core . Eles podem ser liberados em todos os canais da loja .

Martin Wimpress
fonte