У меня есть требование разрешить не-1017 * пользователям запускать и останавливать службу. Мне было рекомендовано использовать PolicyKit
вместо sudoers.d
, с которым я знаком.
Поскольку у меня нет опыта работы с PolicyKit
, я решил поэкспериментировать и создать правило, позволяющее пользователям, не являющимся root, запускать и останавливать службу Docker. Я создал файл /etc/polkit-1/rules.d/10-docker.rules
, содержащий:
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.systemd1.manage-units" &&
action.lookup("unit") == "docker.service")
{
return polkit.Result.YES;
}
})
Тем не менее, всякий раз, когда я выполняю systemctl start|stop|restart docker.service
, мне постоянно предлагается ввести пароль. Что мне не хватает?
Кроме того, я хотел бы ограничить не-1020 * пользователей для управления этой услугой, которые входят в указанную c группу, например blah
. Как мне включить это в мое правило?
Моя целевая ОС - RHEL 7.7.