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