Разрешения Flatpak: как настроить приложения безопасно
Разрешения Flatpak смотрят командой flatpak info --show-permissions, а меняют через flatpak override или графический Flatseal. Самое полезное: закрыть приложениям доступ ко всему домашнему каталогу, оставить только нужные папки и вернуть исходные права одной командой, если что-то перестало работать.

Содержание
Как устроена песочница Flatpak
Каждое приложение Flatpak запускается в отдельном окружении: своя файловая система с библиотеками из runtime, свой домашний каталог в ~/.var/app/ID/, ограниченный доступ к системным шинам и устройствам. Всё, что приложению нужно сверх этого, разработчик перечисляет в манифесте: сеть, доступ к домашней папке, звук, видеокарта, вебкамера.
Проблема в том, что эти списки пишут сами упаковщики, и пишут с запасом. Многие приложения на Flathub получают --filesystem=home или даже --filesystem=host просто потому, что так проще, чем переделывать программу под порталы. Порталы (xdg-desktop-portal) - правильный путь: приложение просит системный диалог выбора файла, и доступ выдаётся только к тому, что выбрал пользователь.
Итог для пользователя: Flatpak даёт рамку, но насколько она плотная, решаете вы. Права можно сузить для одного приложения или для всех сразу, а если что-то сломается, вернуть настройки упаковщика одной командой. Сравнение с другими форматами есть в материале Snap или Flatpak.
Как посмотреть, что разрешено приложению
Сначала узнайте точный идентификатор приложения, затем выведите его разрешения:
flatpak list --app --columns=application,name
flatpak info --show-permissions org.telegram.desktop
# только ваши изменения поверх манифеста
flatpak override --user --show org.telegram.desktopВывод --show-permissions похож на ini-файл. В секции [Context] перечислены shared (сеть, ipc), sockets, devices и filesystems, в [Session Bus Policy] - с какими службами D-Bus приложение может общаться.
Есть и точечная проверка: какой доступ у приложения к конкретной папке.
flatpak info --file-access=$HOME/Документы org.telegram.desktopОтвет будет read-write, read-only или hidden. Удобно, когда не хочется разбирать список целиком.
Какие разрешения встречаются и чем они опасны
| Разрешение | Что даёт | Риск |
|---|---|---|
| --filesystem=host | Почти вся файловая система, кроме системных каталогов | Высокий: доступ ко всем вашим файлам и примонтированным дискам |
| --filesystem=home | Весь домашний каталог | Высокий: ключи SSH, конфиги, файлы браузера |
| --filesystem=xdg-download | Только папка "Загрузки" | Низкий, разумный компромисс |
| --share=network | Сеть | Зависит от приложения, офлайн-редактору не нужна |
| --socket=x11 | Доступ к X-серверу | Средний: в X11 программа видит ввод и окна других программ |
| --socket=wayland | Доступ к композитору Wayland | Низкий, изоляция окон сохраняется |
| --device=all | Все устройства, включая вебкамеру и USB | Средний |
| --socket=session-bus | Вся сессионная шина D-Bus | Высокий: можно управлять другими программами |
| --talk-name=org.freedesktop.Flatpak | Запуск команд вне песочницы | Критический: фактически выход из песочницы |
К значениям --filesystem можно добавлять суффиксы: :ro даёт доступ только на чтение, :create создаёт папку, если её нет. Пути задаются абсолютно, относительно домашнего каталога (~/Музыка) или относительно XDG-каталога (xdg-download/Telegram). Полный список значений приведён в документации Flatpak.
Сужаем права командой flatpak override
Команда flatpak override записывает ваши правила поверх манифеста. Ключ --user меняет настройки только для вашей учётной записи и не требует sudo. Без ID приложения правило применяется ко всем приложениям сразу.
Telegram: только папка загрузок
flatpak override --user --nofilesystem=home --nofilesystem=host org.telegram.desktop
flatpak override --user --filesystem=xdg-download/Telegram:create org.telegram.desktopОтправлять файлы при этом можно: Telegram откроет системный диалог выбора файла через портал. Подробнее о самом клиенте в статье о Telegram в Linux.
Офлайн-программа без сети
flatpak override --user --unshare=network org.example.EditorГлобальное правило для всех приложений
# никто не получает весь диск и весь домашний каталог
flatpak override --user --nofilesystem=host --nofilesystem=home
# а конкретному приложению можно вернуть доступ обратно
flatpak override --user --filesystem=home org.gimp.GIMPПравило конкретного приложения сильнее глобального, поэтому такая схема "запретить всем, разрешить избранным" работает. Изменения вступают в силу при следующем запуске программы, так что закройте её полностью, включая значок в трее.
Не включайте глобальный запрет на всё подряд в один вечер. Ужесточайте права по одному приложению и сразу проверяйте его в работе: открыть файл, сохранить, отправить, позвонить. Так вы будете точно знать, какое правило сломало функцию, и не будете гадать по списку из десяти переопределений.
Даём доступ к флешке, второму диску или сокету
Обратная задача тоже частая: видеоредактор не видит второй диск, а плеер не находит музыку на флешке. Не открывайте ради этого host, дайте ровно нужный путь:
# внешние диски, примонтированные через файловый менеджер
flatpak override --user --filesystem=/run/media/$USER org.kde.kdenlive
# в Debian и Ubuntu съёмные носители часто монтируются в /media
flatpak override --user --filesystem=/media/$USER:ro org.videolan.VLC
# каталог с проектами на втором диске
flatpak override --user --filesystem=/mnt/data/projects org.kde.kdenliveПеременные окружения задаются так же: flatpak override --user --env=QT_SCALE_FACTOR=1.25 ID. Чтобы проверить разрешение один раз, не сохраняя его, передайте тот же ключ прямо в flatpak run:
flatpak run --filesystem=/mnt/data org.kde.kdenliveГде лежат переопределения и как всё вернуть
Пользовательские правила хранятся в ~/.local/share/flatpak/overrides/, системные (сделанные с sudo без --user) в /var/lib/flatpak/overrides/. Это обычные текстовые файлы с именем ID приложения, а глобальное правило лежит в файле global. Их можно читать, копировать на другой компьютер и хранить в своих dotfiles.
ls ~/.local/share/flatpak/overrides/
cat ~/.local/share/flatpak/overrides/org.telegram.desktop
# сброс правил одного приложения
flatpak override --user --reset org.telegram.desktop
# сброс глобального правила
flatpak override --user --resetЕсть второй слой: динамические разрешения порталов. Когда приложение просит доступ к камере, геолокации или фоновой работе и вы нажимаете "Разрешить", ответ сохраняется в отдельной базе. Посмотреть и сбросить его можно так:
flatpak permission-show org.telegram.desktop
flatpak permission-reset org.telegram.desktop
# вся база по таблицам
flatpak permissionsFlatseal и настройки KDE и GNOME
Если терминал не по душе, права удобно править мышью.
- Flatseal (
com.github.tchx84.Flatsealна Flathub) показывает для каждого приложения все переключатели: файловая система, сокеты, устройства, D-Bus. Изменения он пишет в те же файлы overrides, так что команды из этой статьи и Flatseal не конфликтуют. - KDE Plasma имеет модуль прав Flatpak в "Параметрах системы", в разделе "Приложения". Основные переключатели там есть, тонкие правила D-Bus удобнее делать во Flatseal.
- GNOME показывает часть разрешений в "Настройках", раздел "Приложения": доступ к файлам, уведомления, фоновую работу.
flatpak install flathub com.github.tchx84.FlatsealНа неизменяемых системах вроде Fedora Silverblue и Kinoite Flatpak - основной способ ставить программы, и Flatseal там стоит поставить сразу. Об этих системах рассказывает статья об Atomic Linux.
Приложение перестало работать после ограничений
Типичные симптомы и что проверить:
- Не открывается или не сохраняется файл. Приложение не умеет порталы и ждёт прямого доступа. Дайте конкретную папку, а не весь
home. - Пропал звук. Вы убрали
--socket=pulseaudio. Через этот сокет приложения Flatpak работают и с PipeWire. - Чёрное окно или программная отрисовка. Нет
--device=dri, видеокарта недоступна. - Не запускается в Wayland после
--nosocket=x11. Программа не поддерживает Wayland, верните--socket=x11или используйтеfallback-x11.
Ничего не помогает? Сбросьте переопределения flatpak override --user --reset ID и начните заново. Если программа вообще не нужна, удалите её вместе с данными: flatpak uninstall --delete-data ID, а потом flatpak uninstall --unused уберёт осиротевшие runtime. Как ещё освободить место после Flatpak, написано в статье об очистке диска, а общие способы установки программ собраны в материале о том, как установить программу в Linux.
Частые вопросы
Безопасен ли Flatpak по умолчанию?
Частично. Песочница есть всегда, но многие приложения получают от упаковщика широкий доступ, например ко всему домашнему каталогу. Проверьте права и сузьте их.
Чем --user отличается от системного override?
С --user правило действует только для вас и хранится в ~/.local/share/flatpak/overrides. Без --user и с sudo оно применяется для всех пользователей компьютера.
Как вернуть права по умолчанию?
Выполните flatpak override --user --reset с ID приложения. Для глобального правила то же самое без ID.
Почему приложение не видит флешку?
Съёмные диски монтируются в /run/media/имя или /media/имя. Дайте доступ к этому каталогу через --filesystem, при необходимости только на чтение с суффиксом :ro.
Flatseal и flatpak override конфликтуют?
Нет, оба пишут в одни и те же файлы переопределений, изменения из одного инструмента видны в другом.
Документация и источники
- Sandbox Permissions, Flatpak documentation, 2026
- Flatpak Command Reference: flatpak override, flatpak info, flatpak permissions, Flatpak documentation, 2026
- Flatseal, Flathub, 2026
Читайте также
- Snap или Flatpak: какой формат приложений выбрать в 2026 году
- AppImage в Linux: как установить, обновлять и проверять на безопасность
- Atomic Linux в 2026 году: Silverblue, Kinoite и неизменяемый рабочий стол
- Как установить программу в Linux: все способы с примерами
- Telegram в Linux: как установить и настроить клиент
Команды проверены на актуальных версиях дистрибутивов на момент обновления. Перед изменением системных настроек сделайте резервную копию.