Quel est le mode classique de snap, et pourquoi certains snaps ne s’installent pas sans lui (par exemple MS Visual Studio)?

13

J'ai essayé d'installer MS Visual Studio Code comme composant logiciel enfichable sur Ubuntu 16.04 avec la commande suivante:

sudo snap install vscode

mais j'ai l'erreur suivante:

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.

Je voudrais savoir ce que fait l' --classicindicateur (pas seulement l' manexplication de la page) et pourquoi ai-je eu l'erreur précédente lors de l'installation de Visual Studio Code.

Danibix
la source
J'ai essayé de l'installer via snap (avec --classic), mais snap reports error: cannot install "vscode": snap not found. Avez-vous pu l'installer?
imrek

Réponses:

10

Regardez cette courte vidéo qui explique chacun des modèles de confinement disponibles en snaps, pourquoi --classicexiste et son cas d'utilisation.


Sources : La documentation suivante est tirée de snapcraft.io: politiques de confinement .

strict

Il s'agit de la stratégie de sécurité par défaut appliquée aux snaps. Le composant logiciel enfichable a des droits de lecture et / ou d'écriture uniquement dans son propre espace d'installation et les zones sélectionnées. Il a accès aux bibliothèques qu'il regroupe et / ou fournies par le composant logiciel enfichable core ou ubuntu-core. Des droits étendus peuvent être accordés avec des interfaces, qui sont connectées au moment de l'installation ou par l'utilisateur avec la commande snap connect . Par exemple, l'interface d'accueil accordera des droits de lecture au domicile de l'utilisateur.

Le confinement strict vous donne les chemins lisibles et / ou inscriptibles suivants:

  • / snap / snapname / revision (lecture seule, chemin d'installation de snap)
  • / var / snap / snapname / revision (lecture / écriture, données par révision)
  • / var / snap / snapname / common (lecture / écriture, données communes)
  • / home / $ USER / snap / snapname / revision (lecture / écriture, données utilisateur par révision)
  • / home / $ USER / snap / snapname / common (lecture / écriture, données utilisateur communes)

Consultez la liste des variables d'environnement pour plus de détails sur ce qui est visible pour un snap strictement confiné, ainsi que sur les moyens d'accéder à un shell dans l'espace confiné d'un snap.

devmode

Le mode développeur, également appelé devmode, utilise les mêmes politiques de sécurité que le confinement strict, mais les dénis de sécurité sont transformés en avertissements dans /var/log/syslog(voir Débogage ). Ceci est utile lors de la capture d'une application, pour découvrir quelles interfaces doivent être déclarées. Les snaps en mode développeur ne peuvent pas être libérés dans les canaux de magasin stables et candidats .

classique

Un composant logiciel enfichable dans le confinement classique se comporte comme une application traditionnelle, avec un accès complet au système. Contrairement à strict et devmode, ce qu'un snap classique considère comme "/" est le "/" du système hôte et non le "/" du snap de base. Les snaps utilisant cette politique de sécurité entièrement ouverte sont examinés manuellement dans le magasin et ne sont autorisés que sur les systèmes où snapd est installé au-dessus d'une distribution Linux traditionnelle , par opposition au démarrage du système à partir d'une image Ubuntu Core . Ils peuvent être diffusés sur tous les canaux du magasin .

Martin Wimpress
la source