
Кто-нибудь знает, как настроить 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.