Gibt es eine Möglichkeit, den Polkit-Agenten standardmäßig auf den aktuell angemeldeten Benutzer einzustellen?

Gibt es eine Möglichkeit, den Polkit-Agenten standardmäßig auf den aktuell angemeldeten Benutzer einzustellen?

Weiß jemand, wie man polkit-gnome-authentication-agent-1 so konfiguriert, dass bei der Bearbeitung einer Anfrage standardmäßig zunächst der aktuelle Benutzer verwendet wird, oder alternativ, wenn einer der anderen Polkit-Agenten diese Möglichkeit hat?


Wenn ich mich authentifiziere, um eine Polkit-Aktion mit einem Agenten wie durchzuführen polkit-gnome-authentication-agent-1, wird mir, da ich mehrere Benutzer in der wheelGruppe habe, ein Dropdown-Menü angezeigt, in dem ich auswählen kann, als welcher Benutzer ich mich authentifizieren möchte.

Dies ist ein lästiger zusätzlicher Schritt, da der Benutzer, mit dem ich mich authentifizieren möchte, in den meisten Fällen der aktuell angemeldete Benutzer ist*. Ich bevorzuge, dass der aktuell angemeldete Benutzer bereits ausgewählt ist und ich direkt zur Kennworteingabe weitergeleitet werde, mit der Option, bei Bedarf zu einem anderen Benutzer zu wechseln.

Ich bin mir bewusst, dass es möglich ist, die Benutzer, die in der Liste erscheinen, über Polkit-Regeln einzuschränken, aber mein naives Verständnis dieser Regeln ist, dass sie ändern, wererlaubtum sich für bestimmte Aktionen zu authentifizieren, und dass dieses Verhalten stattdessen in den Bereich des Polkit-GUI-Agenten fällt. Oder liege ich falsch und die Standardauswahl kann über Polkit-Regeln festgelegt werden?

WiederholenIch möchte nicht ändern, welche Benutzer/Gruppen sich authentifizieren dürfen, um Polkit-Aktionen auszuführen, sondern nur dafür sorgen, dass sich die Benutzeroberfläche mit einem Minimum an Tastendrücken und auf keinen Fall mit Nagetieren durcharbeiten lässt.

* Ich bin mir völlig darüber im Klaren, dass dies für die meisten Bereitstellungen das sinnvollste Verhalten sein könnte, aber für mich ist es umständlich.

Antwort1

Ich konnte das Problem lösen, indem ich eine benutzerdefinierte Datei mit den folgenden Zeilen hinzugefügt habe, um Folgendes zu /etc/polkit-1/rules.d/überschreiben :00-custom.rules50-default.rules

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

wheelAuf diese Weise wird der aktuelle Benutzer, sofern in der Gruppe vorhanden , nach seinem Kennwort gefragt, andernfalls nach dem Root-Kennwort.

verwandte Informationen