Есть ли способ сделать так, чтобы агент Polkit по умолчанию использовал текущего вошедшего в систему пользователя?

Есть ли способ сделать так, чтобы агент Polkit по умолчанию использовал текущего вошедшего в систему пользователя?

Кто-нибудь знает, как настроить polkit-gnome-authentication-agent-1 так, чтобы изначально при обработке запроса по умолчанию использовался текущий пользователь, или, как вариант, если у одного из других агентов polkit есть такая возможность?


При аутентификации для выполнения действия polkit с помощью такого агента, как polkit-gnome-authentication-agent-1, поскольку в группе есть несколько пользователей, wheelмне предоставляется раскрывающийся список для выбора пользователя, под которым я буду аутентифицироваться.

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

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

ПовторитьЯ не хочу менять, каким пользователям/группам разрешено проходить аутентификацию для выполнения действий Polkit, а просто хочу сделать пользовательский интерфейс немного более быстрым для навигации с минимальным количеством нажатий клавиш и, безусловно, без грызунов.

* Я полностью признаю, что это может быть наиболее разумным поведением для большинства случаев развертывания, но для меня это неудобно.

решение1

Мне удалось решить эту проблему, добавив в /etc/polkit-1/rules.d/named пользовательский файл 00-custom.rulesсо следующими строками, чтобы переопределить 50-default.rules:

polkit.addAdminRule(function(action, subject) {
    if( subject.isInGroup("wheel") ) {
        return ["unix-user:"+subject.user];
    }
    else {
        return [polkit.Result.NO];
    }
});

Таким образом, текущему пользователю, если он присутствует в wheelгруппе, будет предложено ввести свой пароль, в противном случае — пароль root.

Связанный контент