Jaki jest klasyczny tryb przyciągania i dlaczego niektóre przyciągania nie instalują się bez niego (np. MS Visual Studio)?

13

Próbowałem zainstalować MS Visual Studio Code jako przystawkę na Ubuntu 16.04 za pomocą następującego polecenia:

sudo snap install vscode

ale mam następujący błąd:

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.

Chciałbym wiedzieć, co robi --classicflaga (nie tylko manwyjaśnienie strony) i dlaczego dostałem poprzedni błąd podczas instalowania Visual Studio Code.

Danibix
źródło
Próbowałem zainstalować go przez snap (z --classic), ale raporty snap error: cannot install "vscode": snap not found. Czy byłeś w stanie go zainstalować?
imrek

Odpowiedzi:

10

Obejrzyj ten krótki film wyjaśniający każdy z modeli ograniczania dostępnych w snapach, dlaczego --classicistnieje i jego zastosowanie.


Źródła : Poniższa dokumentacja pochodzi z snapcraft.io: polityka ograniczania .

ścisły

Jest to domyślna polityka bezpieczeństwa stosowana do snapów. Przystawka ma prawa do odczytu i / lub zapisu tylko we własnej przestrzeni instalacyjnej i wybranych obszarach. Ma dostęp do bibliotek, które pakuje i / lub zapewnia przez rdzeń lub przystawkę ubuntu-core. Rozszerzone prawa mogą być przyznane interfejsom, które są połączone albo w czasie instalacji, albo przez użytkownika za pomocą polecenia snap connect . Na przykład interfejs domowy przyzna uprawnienia do odczytu w domu użytkownika.

Ścisłe zamknięcie daje następujące czytelne i / lub zapisywalne ścieżki:

  • / snap / snapname / revision (tylko do odczytu, ścieżka instalacji przystawki)
  • / var / snap / snapname / revision (odczyt / zapis, dane dla poszczególnych wersji)
  • / var / snap / snapname / common (odczyt / zapis, wspólne dane)
  • / home / $ USER / snap / snapname / revision (odczyt / zapis, dane użytkownika na wersję)
  • / home / $ USER / snap / snapname / common (odczyt / zapis, wspólne dane użytkownika)

Zobacz listę zmiennych środowiskowych, aby uzyskać więcej informacji na temat tego, co jest widoczne dla ściśle ograniczonej przystawki, a także sposobów uzyskiwania dostępu do powłoki w ograniczonej przestrzeni przystawki.

devmode

Tryb deweloperski, znany również jako devmode, używa tych samych zasad bezpieczeństwa, co ścisłe ograniczenie, ale odmowy zabezpieczeń są zamieniane w ostrzeżenia w /var/log/syslog(patrz Debugowanie ). Jest to przydatne podczas przyciągania aplikacji, aby dowiedzieć się, które interfejsy należy zadeklarować. Snapów w trybie dewelopera nie można zwolnić do kanałów sklepu stabilnego i kandydującego .

klasyczny

Przystawka w klasycznym zamknięciu zachowuje się jak tradycyjnie spakowana aplikacja z pełnym dostępem do systemu. W przeciwieństwie do ścisłego i devmode, klasyczne przyciąganie jako „/” to „/” systemu hosta, a nie „/” przyciągania rdzenia. Snapy korzystające z tej w pełni otwartej polityki bezpieczeństwa są ręcznie sprawdzane w sklepie i są dozwolone tylko w systemach, w których snapd jest zainstalowany na tradycyjnej dystrybucji Linuksa , w przeciwieństwie do uruchamiania systemu z obrazu Ubuntu Core . Można je wydać we wszystkich kanałach sklepu .

Martin Wimpress
źródło