Как заставить flatpak запрашивать пароль

При установке flatpak, который будет установлен во всем sudo группа может установить flatpak без sudo.

Есть ли способ отредактировать правила polkit, которые установлены flatpak, чтобы разрешить это, или просто полностью удалить его, чтобы при каждой попытке установить глобальный flatpak вам будет предложено ввести пароль, используя как CLI, так и Software Store (в моем случае KDE Discover)?

1 ответ

По умолчанию правила flatpak polkit не требуют пароля. Однако вы можете настроить правила, чтобы требовать его.

Производные Ubuntu/Debian (<0,106 )

Создайте новый файл с именем flatpak‑sudo‑always‑password.pklaв /⁠etc⁠/⁠polkit‑1⁠/⁠localauthority⁠/⁠50‑local.d⁠/

      [Install Flatpak apps and runtimes]
Identity=unix-group:sudo
Action=org.freedesktop.Flatpak.app-install;org.freedesktop.Flatpak.runtime-install;org.freedesktop.Flatpak.app-uninstall;org.freedesktop.Flatpak.runtime-uninstall;
ResultActive=auth_admin

Любой дистрибутив с >= 0.106

Создайте новый файл с именем 01‑flatpak‑sudo‑always‑password.rulesв /⁠etc⁠/⁠polkit‑1⁠/⁠rules.d⁠⁠⁠/

      polkit.addRule(function(action, subject) {
    if ((action.id == "org.freedesktop.Flatpak.app-install" ||
         action.id == "org.freedesktop.Flatpak.runtime-install"||
         action.id == "org.freedesktop.Flatpak.app-uninstall" ||
         action.id == "org.freedesktop.Flatpak.runtime-uninstall") &&
         subject.active == true && subject.local == true &&
         subject.isInGroup("sudo")) {
            return polkit.Result.AUTH_ADMIN;
    }

    return polkit.Result.NOT_HANDLED;
});


Это прямое изменение правил, которые flatpakустанавливает.

The org.freedesktop.Flatpak.modify-repoразрешение удалено (по умолчанию включено для всех пользователей ), org.freedesktop.Flatpak.override-parental-controlsбыл удален (неприменимо), а возвращенный тип авторизации policykit изменился с yesвернуться к auth_admin. (polkitруководство по типам авторизации )

Файл был создан flatpak, а файл — Debian на основе файла flatpak. Дебиан не обновляется policykitвне 0.105на данный момент, поэтому они перенесли на старую систему .

Оригинал .rulesфайл - - - Оригинал .pklaфайл

Вы можете рассмотреть возможность использования auth_admin_keepвместо этого, если вы не хотите, чтобы вас спрашивали о вашем пароле для каждого плоского пакета и каждой среды выполнения в одной команде.

Другие вопросы по тегам