
リクエストを処理するときに最初に現在のユーザーをデフォルトにするように polkit-gnome-authentication-agent-1 を構成する方法、または他の polkit エージェントの 1 つにこの機能があるかどうかを知っている人はいますか?
のようなエージェントを使用して polkit アクションを実行するために認証する場合polkit-gnome-authentication-agent-1
、グループ内に複数のユーザーがいるため、wheel
どのユーザーとして認証するかを選択するためのドロップダウンが表示されます。
これは面倒な追加手順です。ほとんどの場合、認証したいユーザーは現在ログインしているユーザー* です。私が好む動作は、現在ログインしているユーザーが事前に選択され、パスワード入力に直接進み、必要に応じて別のユーザーに変更するオプションがあることです。
Polkitルールでリストに表示されるユーザーを制限できることは知っていますが、それらのルールについての私の素朴な理解では、誰が許可された特定のアクションを認証するために、この動作は polkit GUI エージェントの領域にあるということです。それとも、私が間違っていて、デフォルトの選択は polkit ルールで設定できるものなのでしょうか?
繰り返しますがPolkit アクションを実行するために認証を許可されるユーザー/グループを変更するつもりはありませんが、最小限のキー入力で、間違いなくマウス操作なしで UI を少し速く移動できるようにしたいだけです。
* これはほとんどの展開では最も賢明な動作である可能性があることを十分に認識していますが、私にとっては扱いにくいです。
答え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 パスワードの入力が求められます。