Разрешить некорневому пользователю запускать определенные службы systemd (не *) без пароля с помощью правила polkit

У меня есть пользователь без полномочий root, и мне нужно иметь возможность запускать / останавливать / перезапускать набор служб в моей системе без запроса пароля авторизации. В идеале я хотел бы, чтобы это было сделано с помощью polkit, но при необходимости выберу sudo. Во всяком случае, я видел здесь решения, которые включают добавление файла в localauthority и добавление файла.rules в /etc/polkit-1/rules.d который определяет сервис (ы), которые будут запущены. Я должен упомянуть, что это на системе CentOS7.

Тем не менее, решение localauthority было для всех сервисов, а решение для файла.rules (взято отсюда: systemd: предоставьте непривилегированному пользователю разрешение на изменение одной конкретной службы) по-прежнему запрашивает пароль, так как действие "manage-units" установить "auth_admin" в /usr/share/polkit-1/actions/org.freedesktop.systemd1.policy,

Есть ли способ, чтобы polkit позволил определенному пользователю запускать определенные службы без пароля? Без необходимости предоставлять этому пользователю широкие открытые привилегии для действия управляющих единиц? Я в основном хочу условные привилегии управляющего модуля.

Также кое-что интересное я заметил: если я запускаю эту функцию

polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.systemd1.manage-units" && subject.user == "alice")
    {
        return polkit.Result.YES;
    }
});

Это работает, хотя для всех услуг. Но если я попытаюсь развернуть сервисы, изменив его на следующее:

polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.systemd1.manage-units" &&
        action.lookup("unit") == "example.service" &&
        subject.user == "alice") {
        return polkit.Result.YES;
    }
});

Внезапно он запрашивает пароль. Не уверен, почему он не будет запрашивать пароль для первой функции, поскольку он все еще действует в соответствии с действием управляющих модулей.

0 ответов

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