Flatpak изолирует приложения от системы, но разрешения всё равно нужно контролировать. По умолчанию многие программы получают доступ к домашнему каталогу, сети и устройствам — этого достаточно, чтобы случайная или скомпрометированная программа прочитала лишние файлы. Flatseal даёт понятный графический интерфейс для управления этими разрешениями.
Это не антивирус и не песочница «из коробки»: приложение показывает, что именно разрешено, и позволяет это изменить. Понимание последствий остаётся за пользователем.
Как устроены разрешения Flatpak
У каждого установленного Flatpak-приложения есть набор разрешений: доступ к файловой системе, сеть, сокеты, устройства, функции ядра, переменные окружения. Часть разрешений задаётся в манифесте приложения, часть — глобальными настройками Flatpak, часть — вашими переопределениями.
Flatseal показывает все три уровня и позволяет менять пользовательские переопределения, не трогая пакет. Это важно: изменения переживут обновление приложения и не будут перезаписаны.
Установка
flatpak install flathub com.github.tchx84.Flatseal
flatpak run com.github.tchx84.Flatseal
Если Flathub ещё не подключён, добавьте его:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
После запуска слева появится список приложений, справа — их разрешения. Приложения без переопределений показываются с пометкой, что действуют настройки по умолчанию.
Что стоит проверить в первую очередь
Доступ к файловой системе
Многие приложения просят доступ ко всему домашнему каталогу. Для мессенджера это обычно избыточно: ему достаточно сети. Для графического редактора, наоборот, нужен доступ к папке с проектами. Замените широкий доступ на конкретный путь, если приложение это поддерживает.
Сеть
Офлайн-утилиты и локальные игры не нуждаются в сети. Отключение сетевого доступа — одна из самых действенных мер, но проверьте, не сломает ли она обновления и синхронизацию.
Устройства и сокеты
Доступ к веб-камере, микрофону, Bluetooth и X11-сокету расширяет поверхность атаки. Оставляйте только то, что нужно для работы. Для приложений, которым требуется Wayland-портал, доступ к X11 не нужен.
Переменные окружения
Здесь можно переопределить пути, включить отладочный вывод или задать параметры рендеринга. Будьте осторожны: неверная переменная может помешать приложению запуститься.
Тонкая настройка
Flatseal позволяет редактировать переопределения вручную. Это пригодится, если нужной опции нет в интерфейсе. Эквивалент в терминале:
flatpak override --user --show com.example.App
flatpak override --user --nofilesystem=home com.example.App
flatpak override --user --filesystem=~/Projects com.example.App
Сбросить все пользовательские переопределения можно так:
flatpak override --user --reset com.example.App
После изменений приложение нужно перезапустить. Некоторые настройки применяются только при новом запуске, а не при переключении окна.
Ограничения и риски
Flatseal управляет только Flatpak. Snap, AppImage и обычные пакеты он не видит. Разрешения, встроенные в само приложение, могут быть недоступны для изменения, если разработчик не предусмотрел переопределение.
Главный риск — сломать приложение «на всякий случай». Если после изменения программа не запускается или не видит файлы, верните настройки и проверьте журнал:
flatpak run com.example.App
journalctl --user -b --no-pager | grep -i flatpak
Не отключайте доступ к файлам у приложения, которое хранит там ваши данные: оно может создать новый пустой профиль и создать впечатление потери информации.
Альтернативы
В KDE есть модуль разрешений Flatpak в системных настройках. Для терминала достаточно flatpak override. Есть и сторонние утилиты, но Flatseal остаётся самым наглядным вариантом для GNOME и не только.
Кому подходит
Всем, кто устанавливает Flatpak-приложения из Flathub и хочет понимать, что они могут делать. Особенно полезно на ноутбуках, где хранятся рабочие документы, и на машинах, где ставят много стороннего ПО.
Практический пример: мессенджер
Мессенджеру нужны сеть и доступ к файлам, которые вы отправляете. Полный доступ к домашнему каталогу при этом избыточен: достаточно портала файлов или конкретной папки «Загрузки». Отключите home, оставьте сеть и проверьте, что отправка вложений работает через диалог выбора файла. Если приложение не умеет работать через портал, придётся вернуть доступ — но тогда хотя бы ограничьте его одной папкой.
Отдельно проверьте доступ к микрофону и камере. Для текстового мессенджера они не нужны. После изменений перезапустите приложение и совершите тестовый звонок или отправку файла.
Практический пример: графический редактор
Редактору изображений нужен доступ к папке с проектами, но не ко всей системе. Если приложение поддерживает портал, оставьте только его. Если нет — добавьте конкретный путь и не давайте доступ к / или домашнему каталогу целиком. Помните, что Flatpak-приложение не увидит файлы вне разрешённых путей, даже если вы откроете их через диалог.
Аудит установленных приложений
Перед массовыми изменениями полезно увидеть список приложений и их размер. Это помогает понять, что вообще установлено и какие приложения стоит проверить первыми:
flatpak list --app --columns=application,origin,size
flatpak info com.example.App | head -30
Не удаляйте переопределения «на всякий случай» у приложений, которыми не пользуетесь: сначала разберитесь, зачем они были добавлены. Ведите короткие заметки о том, что и почему вы изменили, — через полгода это сэкономит время.
Удаление и очистка
Удалите {app} тем же способом, которым ставили, и почистите остатки настроек, если они больше не нужны.
# Flatpak
flatpak uninstall app-id
flatpak uninstall --unused
# Snap
sudo snap remove app-name
# системный пакет
sudo apt purge package-name
# остатки
rm -rf ~/.config/APP ~/.cache/APP 2>/dev/null
Перед удалением сохраните настройки, если планируете вернуться: после очистки восстановить конфигурацию будет нечем.
Итог
Flatseal превращает абстрактные разрешения Flatpak в понятный список. Начните с двух-трёх приложений: отключите лишний доступ к домашнему каталогу и сети, проверьте, что всё работает, и только потом двигайтесь дальше. Такой подход даёт реальную пользу без риска сломать окружение.