Я могу открыть по умолчанию оснастки хрома на моем компьютере Ubuntu 20.04. Затем я щелкну правой кнопкой мыши на домашней странице Defualt, нажмите Save As
, перейдите к моему каталогу ~/home
и можете продолжить сохранение файла .html
где угодно в моем домашнем каталоге.
Почему пакеты оснастки продаются как "песочница", если они не используются в "песочнице" в реальном использовании? Если оснастка хрома может читать/записывать в мой домашний каталог, то у программы для хрома, , по сути, , есть ключи от моего замка.
Обычный человек (например, я) больше всего знаком со средой смартфонов и, скорее всего, понимает песочницу как нечто вроде:
Приложение или программа не должны иметь доступ к какому-либо системному ресурсу без получения владельцем системы явного разрешения на этот ресурс.
Это парадигма для Android и iOS, к которой я привык. И глядя на документацию Ubuntu, кажется, что они утверждают это, когда на самом деле это не так:
... каждый пакет находится в песочнице, так что он работает в ограниченном окружении, изолированном от остальной системы...
Или, я что-то упускаю из виду?
Пакет оснастки хрома правильно ограничен (нет классического ограничения). Разработчики пакета snap для хрома выбрали и выбрали соответствующие соединения, чтобы пакет был хорошо ограничен.
Чтобы увидеть список соединений, выполните следующее. Вы можете использовать то, что пакет snap имеет доступ к вашему домашнему каталогу, право доступа, которое включается по запросу в Snap Store для каждого случая.
$ snap connections chromium
Interface Plug Slot Notes
audio-playback chromium:audio-playback :audio-playback -
audio-record chromium:audio-record :audio-record -
bluez chromium:bluez :bluez -
browser-support chromium:browser-sandbox :browser-support -
camera chromium:camera :camera -
content[gtk-3-themes] chromium:gtk-3-themes gtk-common-themes:gtk-3-themes -
content[icon-themes] chromium:icon-themes gtk-common-themes:icon-themes -
content[sound-themes] chromium:sound-themes gtk-common-themes:sound-themes -
cups-control chromium:cups-control :cups-control -
desktop chromium:desktop :desktop -
gsettings chromium:gsettings :gsettings -
home chromium:home :home -
joystick chromium:joystick :joystick -
mount-observe chromium:mount-observe - -
mpris - chromium:mpris -
network chromium:network :network -
network-bind chromium:network-bind :network-bind -
network-manager chromium:network-manager - -
opengl chromium:opengl :opengl -
password-manager-service chromium:password-manager-service - -
personal-files chromium:chromium-config :personal-files -
pulseaudio chromium:pulseaudio - -
raw-usb chromium:raw-usb - -
removable-media chromium:removable-media :removable-media -
screen-inhibit-control chromium:screen-inhibit-control :screen-inhibit-control -
u2f-devices chromium:u2f-devices :u2f-devices -
unity7 chromium:unity7 :unity7 -
upower-observe chromium:upower-observe :upower-observe -
x11 chromium:x11 :x11 -
На самом деле, он, возможно, ближе к модели Android, чем вы думаете.
Доступ к остальной части системы определяется набором интерфейсов . Один интерфейс для сети, другой интерфейс для bluetooth, другой интерфейс для каталога / home (только верхний уровень), еще один интерфейс для всего каталога / home и т. Д.
Разрешенные интерфейсы для привязки перечислены в Snapcraft YAML-файл . Snapd использует этот файл YAML для управления доступом. Это предназначено для установки минимального базового уровня доступа для правильного функционирования приложения.
После установки оснастки вы (администратор) можете явно отключить (или включить) любой из этих интерфейсов с помощью snapd. Все под вашим контролем.
Снапсы, установленные с помощью - classic
, не изолированы.
... от man snap
--classic
Put snap in classic mode and disable security confinement
Имеет смысл ограничить некоторые программы , и меньше других.