Использование PolicyKit, чтобы позволить не root пользователям запускать и останавливать службу - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть требование разрешить не-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.

...