[berqela]
Kdyz uzavres smlouvu s dablem, prepocitej si prsty na rukach. Mas-li vsechny, prepocitej si prsty na nohach. Pokud pocet odpovida, prepocitej si koncetiny. Pokud je i tento pocet v poradku, prepocitej si rodinu...
(Autora citatu si nepamatuji. Mam ale dojem, ze je to z nejake ceske fantasy)
Jenže právě v případě Skypu MS používá snap režim "classic", kde je veškerá kontejnerová izolace vypnutá. Oficiálně prý proto, aby tím skypem šlo odesílat a přijímat soubory v home. Že to funguje i v "confined" režimu, stačí ve snapcraft.yaml zapnout plug "home", to jim jaksi ušlo. Buď MS až do toho místa manuál nedočetl, nebo je to s těmi důvody nějak jinak. Že MS vydává software pro Linux je záslužné a budiž to oceněno, ale tohle konkrétně opravdu moc velkou důvěru nebudí.
Snap má několik režimů. Ten nejznámější, "confined", funguje tak, jak říkáte. Každý balík má vlastní kontejner a tvůrce balíku deklaruje, k čemu vně kontejneru má mít přístup. Uživatel má možnost každý z těchto požadavků povolit nebo nepovolit, s tím, že všechno ostatní je zakázané.
Skype ale používá režim "classic", ve kterém se kontejner nevytváří. Aplikace běží přímo v původním prostředí, stejně jako .deb nebo .rpm. To je v principu určeno pro speciální případy, typickým příkladem classic snapu je AndroidStudio, které musí mít logicky přístup ke všem zdrojům vývojové stanice, včetně USB zařízení a dalších, a podobné aplikace. Proti konvenčnímu deb a rpm to má tu výhodu, že i takové aplikace fungují na všech distrech, které podporují snap, je velmi snadné je vytvářet a i ony mají atomické aktualizace a možnost vrátit aktualizaci zpět na předchozí verzi, takže užitečné to je i tak, i když bezpečnostní výhody tu nejsou.
Ale u appky, jako je Skype, k tomu opravdu není legitimní důvod a připadá mi to dost podezřelé. Další podivná okolnost je ta, že MS tento balík distribuuje přes canonicalský Snap Store, a v něm musí každá jednotlivá aplikace, která používá "classic", mít povolení od administrátorů. Jinak řečeno, MS musel Canonical požádat, aby do Storu akceptoval balík Skype v classic režimu a Canonical s tím evidentně souhlasil. Dost by mě zajímalo, čím jim to teda MS zdůvodnil.
1. snap něběží v kontejneru, ale ve stejném namespace jako zbytek systému a sandbox je dělaný AppArmorem.
2. tento konkrétní snap běží v tzv. classic režimu, to znamená, že má sandboxing vypnutý a nijak se neliší od Skypu nainstalovaného přes deb balíček.
3. sandboxing ve snapu stejně nefunguje a musí být vypnutý ve většině distribucí mimo Ubuntu.