是否有人知道如何配置 polkit-gnome-authentication-agent-1 以在处理请求时最初默认为当前用户,或者其他 polkit 代理之一是否具有此功能?
当使用类似的代理执行 polkit 操作进行身份验证时polkit-gnome-authentication-agent-1
,由于组中有多个用户,因此wheel
我提供了一个下拉菜单来选择以哪个用户的身份进行身份验证。
这是一个令人恼火的额外步骤,因为在大多数情况下,我想要验证的用户是当前登录的用户*。我喜欢的行为是预先选择当前登录的用户,然后直接进入密码输入,并可以选择更改为其他用户(如果这是我想要的)。
我知道可以通过 polkit 规则来限制列表中出现的用户,但我对这些规则的简单理解是,它们会改变谁是允许对某些操作进行身份验证,而这种行为属于 polkit GUI 代理的范畴。或者我错了,默认选择是可以通过 polkit 规则设置的?
重申我不想改变哪些用户/组被允许通过身份验证来执行 polkit 操作,而只是希望通过最少的按键让 UI 移动得更快一些,而且绝对不会有啮齿动物。
* 我完全承认,对于大多数部署来说,这可能是最明智的行为,但对我来说,这很尴尬。
答案1
我设法解决这个问题的方法是添加一个自定义文件,并用以下几行来/etc/polkit-1/rules.d/
命名,以覆盖: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 密码。