Для Flatpak подготовлена технология управляемого доступа к ресурсам вне контейнера

8 июля 2016 года

Маттиас Класен (Matthias Clasen), лидер Fedora Desktop Team и участник GNOME Release Team, объявил о первом выпуске системы контролируемого обращения к внешним ресурсам для самодостаточных контейнеров приложений Flatpak. Для решения задач обращения к внешним ресурсам из контейнера, таким как файлы хост-системы, во flatpak изначально применялось монтирование внешних директорий в режиме bind (в snap доступ регулируется через AppArmor), что требует точной информации к каким ресурсам требуется доступ.

Для упрощения работы с внешними ресурсами для Flatpak предложена концепция порталов, реализованная через высокоуровневый API, позволяющий приложению запросить доступ к таким операциям, как открытие внешнего файла, открытие URL, вывод на печать, создание скриншота, вывод уведомления, блокировка вызова хранителя экрана, получения данных о состояния сети и информации о прокси. Указанный API удалось интегрировать с библиотекой GTK+, что позволяет обойтись без модификации приложений. Так, обработчик Portals API вызывается при обращении приложения к штатным функциям GTK, например, когда программа пытается выбрать файл через GtkFileChooserNative или вывести информацию на печать через GtkPrintOperation. Взаимодействие с фронтэндом из изолированного окружения осуществляется через DBus.

Особенностью системы порталов является то, что решение о предоставлении доступа принимается пользователем, а не изначально предопределяется составителем пакета, который не может предугадать какой файл захочет обработать в изолированном приложении пользователь, поэтому обычно доступ открывается ко всей домашней директории. При обращении к обрабатываемым через Portals API функциям вызывается специальный обработчик, который показывает пользователю диалог подтверждения операции, по аналогии с динамическими межсетевыми экранами. В случае, если пользователь подтвердит операцию, предоставляется доступ к ресурсу.

В настоящее время доступен первый выпуск модуля xdg-desktop-portal-gtk для интеграции с GTK+, а также предложен набор исправлений к GTK+, обеспечивающий прозрачную для приложений интеграцию с системой порталов. Данные изменения уже приняты в основную ветку GTK+ и будут включены в состав выпуска 3.22. При этом технология позиционируется как не зависящая от конкретных рабочих столов и в разработке находится аналогичный модуль для Qt.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Для Flatpak подготовлена технология управляемого доступа к ресурсам вне контейнера», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.