Это список разрешений, поддерживаемых Настройками 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 |
| Имя | Тип | Описание | Эквивалент 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 |