Документация

Содержание

Разрешения

Это список разрешений, поддерживаемых Настройками Flatpak. Эти описания основаны на официальной документации Flatpak и дополнены примерами и ссылками, чтобы упростить понимание для новичков.

Если кратко, Flatpak предоставляет две различные модели разрешений: статическую и динамическую.

Статическая модель относится к разрешениям, заданным разработчиками при создании приложений. Статические разрешения — это «дыры» в песочнице, например, приложение, созданное с опцией --filesystem=home, может получить доступ ко всем личным файлам пользователя. Преимущество этой модели в том, что разработчики могут поддерживать Flatpak без внесения изменений в код приложений.

И Настройки Flatpak, и инструмент командной строки flatpak override используют механизм переопределения для управления статическими разрешениями.

Динамическая модель касается разрешений, предоставляемых пользователями во время работы приложений. Динамические разрешения зависят от провайдеров ресурсов, называемых Portals, и могут требовать подтверждения пользователя. Например, пользователи могут предоставить доступ к одному конкретному файлу с помощью портала org.freedesktop.portal.FileChooser. Преимущество этой модели в том, что пользователям не нужно доверять приложениям больше ресурсов, чем это действительно необходимо.

И Настройки Flatpak, и инструмент командной строки flatpak permissions используют сервис org.freedesktop.impl.portal.PermissionStore для управления динамическими разрешениями.

Обмен

Имя Тип Описание Эквивалент flatpak override
Сеть Переключатель Разрешить приложению доступ к сети.

Например, если это отключено для Firefox, то больше не получится использовать это приложение для просмотра интернета.
--share=network and --unshare=network
Межпроцессное взаимодействие Переключатель Общий IPC (пространство имен межпроцессного взаимодействия) с хостом.

Это требуется для X11, так как он зависит от IPC.
--share=ipc и --unshare=ipc

Socket

Имя Тип Описание Эквивалент flatpak override
Оконная система X11 Переключатель Разрешить приложению открываться в окне X11.

Большинство приложений используют X11 по историческим причинам, но считается, что это менее безопасно.
--socket=x11 и --nosocket=x11
Оконная система Wayland Переключатель Разрешить приложению открываться в окне Wayland.

Многие приложения не используют Wayland, так как это более новый протокол отображения по сравнению с X11, и он считается более безопасным, однако некоторые приложения требуют дополнительных шагов для его использования (см. пример с переменными окружения для Firefox) или вовсе не поддерживают Wayland.
--socket=wayland и --nosocket=wayland
Резервное переключение на оконную систему X11 Переключатель Разрешить приложению открываться в окне X11, если Wayland недоступен. Это переопределяет опцию оконной системы X11, если включено. --socket=fallback-x11 и --nosocket=fallback-x11
Звуковой сервер PulseAudio Переключатель Разрешить приложению воспроизводить звуки или получить доступ к микрофону при использовании PulseAudio.

Например, если это отключено для Rhythmbox, то больше нельзя будет слушать музыку с этим приложением.
--socket=pulseaudio и --nosocket=pulseaudio
Сеансовая шина D-Bus Переключатель Разрешить приложению доступ ко всей сеансовой шине. --socket=session-dbus и --nosocket=session-dbus
Системная шина D-Bus Переключатель Разрешить приложению доступ ко всей системной шине. --socket=system-dbus и --nosocket=system-dbus
Агент безопасной оболочки (SSH) Переключатель Разрешить приложению использовать аутентификацию SSH. --socket=ssh-auth и --nosocket=ssh-auth
Смарт-карты Переключатель Разрешить приложению использовать смарт-карты. --socket=pcsc и --nosocket=pcsc
Система печати Переключатель Разрешить приложению использовать системы печати.

Например, если это отключено для LibreOffice, то больше не получится печатать документы с этим приложением.
--socket=cups и --nosocket=cups
Каталоги GPG-Agent Переключатель Разрешить приложению доступ к каталогам GPG-Agent. --socket=gpg-agent и --nosocket=gpg-agent
Наследование сокета Wayland Переключатель Разрешить передачу переменной окружения WAYLAND_SOCKET в песочницу.

Например, если это отключено для Fcitx5, он не сможет подключиться к Wayland и отображать свои диалоги автозаполнения.
--socket=inherit-wayland-socket и --nosocket=inherit-wayland-socket

Устройство

Имя Тип Описание Эквивалент flatpak override
Аппаратное ускорение GPU Переключатель Разрешить приложению доступ к прямому рендерингу графики для использования ускорения GPU. --device=dri и --nodevice=dri
Устройства ввода Переключатель Разрешить доступ к устройствам ввода.

Обратите внимание, что для необработанных и виртуальных устройств ввода может потребоваться Доступ ко всем устройствам.
--device=input и --nodevice=input
Виртуализация Переключатель Разрешить приложению поддержку виртуализации. --device=kvm и --nodevice=kvm
Общая память Переключатель Разрешить приложению доступ к общей памяти. --device=shm и --nodevice=shm
Все устройства Переключатель Разрешить приложению доступ ко всем устройствам, таким как веб-камера и внешние устройства.

Например, если это отключено для Element, то больше нельзя будет совершать видеозвонки с помощью этого приложения.
--device=all и --nodevice=all

Разрешить

Имя Тип Описание Эквивалент flatpak override
Системные вызовы для разработки Переключатель Разрешить приложению доступ к определенным системным вызовам, таким как ptrace() и perf_event_open(). --allow=devel и --disallow=devel
Программы для других архитектур Переключатель Разрешить приложению выполнять программы для ABI, отличного от поддерживаемого системой. --allow=multiarch и --disallow=multiarch
Bluetooth Переключатель Разрешить приложению использовать Bluetooth. --allow=bluetooth и --disallow=bluetooth
Шина Controller Area Network Переключатель Разрешить приложению использовать сокеты canbus. Также необходимо иметь доступ к сети, чтобы это работало. --allow=canbus и --disallow=canbus
Общая память приложения Переключатель Разрешить приложению делиться своей /dev/shm между экземплярами с одинаковым $FLATPAK_APP_ID. Введено специально для Flatpak Steam, чтобы делиться своей /dev/shm с под-песочницами игр. --allow=per-app-dev-shm и --disallow=per-app-dev-shm

Файловая система

Имя Тип Описание Эквивалент flatpak override
Все файлы файловой системы Переключатель Разрешить доступ на чтение и запись ко всей файловой системе. Все, что не доступно для записи пользователем, будет доступно только для чтения. --filesystem=host и --nofilesystem=host
Все системные библиотеки, исполняемые файлы и статические данные Переключатель Разрешить доступ на чтение и запись к системным библиотекам, расположенным в /usr. Поскольку для записи в этот каталог требуется права root, разрешение будет только для чтения. --filesystem=host-os и --nofilesystem=host-os
Все системные конфигурации Переключатель Разрешить доступ на чтение и запись к системным конфигурациям, расположенным в /etc. Поскольку для записи в этот каталог требуется права root, разрешение будет только для чтения. --filesystem=host-etc и --nofilesystem=host-etc
Все пользовательские файлы Переключатель Разрешить доступ на чтение и запись к пользовательскому каталогу ($HOME или ~/). --filesystem=home и --nofilesystem=home
Другие файлы Ввод Разрешить доступ на чтение и запись к желаемому каталогу.

Например, укажите ~/games, если вы хотите доступ на чтение и запись к ~/games. Если вы хотите доступ только для чтения к ~/games, то укажите ~/games:ro.
--filesystem=[PATH], --filesystem=[PATH]:ro и --nofilesystem=[PATH]

Постоянные данные

Имя Тип Описание Эквивалент flatpak-override
Файлы Ввод Разрешить приложению доступ к целевому каталогу, ограничивая доступ других приложений к этому каталогу.

Начиная с пользовательского каталога ($HOME или ~/), целевой каталог будет перенаправлен в каталог приложения (~/.var/app/$FLATPAK_APP_ID/[PATH]), если у приложения нет прав на запись в целевой каталог.

Например, если сделать постоянным .mozilla, то ~/.mozilla будет перенаправлен на ~/.var/app/org.mozilla.Firefox/.mozilla.

Это также метод для упрощения пользовательского каталога, так как предотвращает запись приложения в ~/.
--persist=[PATH]

Среда

Имя Тип Описание Эквивалент flatpak override
Переменные Ввод Установить переменную окружения в приложении, чтобы она была доступна приложению при его запуске.

Например, добавление MOZ_ENABLE_WAYLAND=1 для Firefox для включения back-end Wayland.
--env=[VAR]=[VALUE]

Системная шина

Имя Тип Описание Эквивалент flatpak override
Talks Ввод Разрешить приложению взаимодействовать с системными службами.

Например, добавление org.freedesktop.Accounts позволит приложению получить доступ к истории входа пользователей.
--system-talk-name=[NAME]
Owns Ввод Разрешить приложению владеть системными службами под указанным именем. --system-own-name=[NAME]

Сеансовая шина

Имя Тип Описание Эквивалент flatpak override
Talks Ввод Разрешить приложению взаимодействовать с сеансовыми службами.

Например, добавление org.freedesktop.Notifications позволит приложению отправлять уведомления.
--talk-name=[NAME]
Owns Ввод Разрешить приложению владеть сеансовыми службами под указанным именем. --own-name=[NAME]

Порталы

Имя Тип Описание Портал
Фон Переключатель Разрешить приложению работать в фоновом режиме. org.freedesktop.portal.Background
Уведомления Переключатель Разрешить приложению отправлять уведомления. org.freedesktop.portal.Notification
Микрофон Переключатель Разрешить приложению прослушивать ваш микрофон. org.freedesktop.portal.Device
Динамики Переключатель Разрешить приложению воспроизводить звуки через ваши динамики. org.freedesktop.portal.Device
Камера Переключатель Разрешить приложению записывать видео с вашей камеры. org.freedesktop.portal.Device
Местоположение Переключатель Разрешить приложению получать данные о вашем местоположении. org.freedesktop.portal.Location