Как заставить 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вместо этого, если вы не хотите, чтобы вас спрашивали о вашем пароле для каждого плоского пакета и каждой среды выполнения в одной команде.