web-dev-qa-db-ja.com

スナップのクラシックモードとは何ですか?また、一部のスナップはそれなしではインストールされないのはなぜですか(MS Visual Studioなど)?

次のコマンドを使用して、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のインストール中に以前のエラーが発生した理由を知りたいのですが。

11
Danibix

この短いビデオ スナップで利用可能な各閉じ込めモデル、--classicが存在する理由、およびユースケースを説明しています。


ソース:次のドキュメントは snapcraft.io:confinement policies から引用されています。

厳しい

これは、スナップに適用されるデフォルトのセキュリティポリシーです。スナップには、独自のインストールスペースと選択した領域でのみ読み取りおよび/または書き込み権限があります。バンドルしたり、コアまたは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

開発者モード(devmodeとも呼ばれる)は、厳密な制限と同じセキュリティポリシーを使用しますが、セキュリティ拒否は/var/log/syslogで警告に変わります( デバッグ を参照)。これは、アプリケーションをスナップするときに、どのインターフェイスを宣言する必要があるかを発見するのに役立ちます。開発者モードのスナップは、安定した候補ストア channels にリリースできません。

クラシック

古典的な閉じ込めのスナップは、システムへのフルアクセスを備えた従来のパッケージアプリケーションとして動作します。厳格な開発モードとは対照的に、クラシックスナップで「/」と表示されるのは、コアスナップの「/」ではなく、ホストシステムの「/」です。この完全にオープンなセキュリティポリシーを使用したスナップは、ストアで手動で確認され、snapdがインストールされているシステムでのみ許可されます 従来のLinuxディストリビューションの上 、システムは buntuから起動するのではなくコア 画像。それらはすべてのストアでリリースできます channels

8
Martin Wimpress