
Ich verwende eine Rocky Linux 8.4-Workstation mit GNOME- und MATE-Desktops, habe aber unter CentOS 7.9 dasselbe Problem festgestellt ...
Wenn ich mich über den lokalen Bildschirm bei der Maschine anmelde, kann ich mithilfe der Control Center-App Dinge wie Benutzer verwalten und die Systemzeit einstellen (dies ist bei MATE der Fall, die Tools sind bei GNOME im Menü versteckt). Wenn ich auf das Tool klicke, wird ein Popup angezeigt, in dem ich nach meinem Passwort gefragt werde, oder es gibt eine Schaltfläche „Entsperren“, auf die ich klicken muss, bevor ich authentifiziert werde. Dies alles funktioniert, weil mein Benutzer Mitglied der Verwaltungsgruppe „wheel“ ist.
Wenn sich derselbe Benutzer jedoch erneut bei derselben Desktopumgebung anmeldet xrdp
, ist er nicht mehr in der Lage, das System zu verwalten. In einigen Fällen ist die Schaltfläche „Entsperren“ ausgegraut, in anderen Fällen erhalte ich beim Klicken auf das Tool-App-Symbol die Meldung „Fehler beim Ausführen des Befehls als anderer Benutzer: Nicht autorisiert“ in meiner .xsession-errors
Datei.
So wie ich es verstehe, liegt das Problem darin, dass polkit
lokale und Remote-Sitzungen unterschiedlich behandelt werden und grundsätzlich administrative Aktionen von Remote-Sitzungen wie xrdp, vnc usw. blockiert werden. Das ist ärgerlich, denn der Hauptgrund für die Einrichtung des xrdp-Dienstes war, dass ichkönntedie Maschine aus der Ferne verwalten! Ich kann dies bis zu einem gewissen Grad umgehen, indem ich sudo
ein Terminal verwende, aber eigentlich möchte ich, dass es einfach funktioniert™.
Meine Frage lautet also: Wie konfiguriere ich, polkit
dass eine Remotesitzung für meinen Administratorbenutzer genauso behandelt wird wie eine lokale Sitzung? (Immer vorausgesetzt, dass Polkit die Ursache meines Problems ist!)
Antwort1
Nachdem ich die Frustrationen von gestern prägnanter formuliert hatte, suchte ich mit einer bekannten Suchmaschine nach „Linux Polkit Local and Remote Sessions“ und erhielt als oberstes Ergebnis Folgendes:Systemverwaltungsrechte für nicht lokale Benutzer aktivieren – wie zum Teufel polkit
funktioniert das überhaupt? Die Antwort (leicht modifiziert gegenüber der verlinkten Frage) besteht darin, eine Datei zu erstellen, /etc/polkit-1/localauthority/50-local.d/10-remote-admin-allow.pkla
die enthält
[Allow Remote Admin]
Identity=unix-group:wheel
Action=*
ResultAny=auth_admin_keep
ResultInactive=auth_admin_keep
ResultActive=auth_admin_keep
und ausführen systemctl restart polkit
(was wichtig ist, aber in der anderen Frage fehlt). Sie können diese Datei auch unter ablegen /var/lib/polkit-1
, aber lautplokaleAutorität.8Ersteres ist für die lokale Konfiguration vorgesehen, während Letzteres für Pakete von Drittanbietern bestimmt ist.
Antwort2
Hat bei mir super funktioniert. Danke!
Ich war nicht sicher, was "Identity=unix-group:Rad", also habe ich die Gruppe stattdessen in „sudo“ geändert. Ich vermute, die Gruppe „Benutzer“ hätte auch funktioniert.
Ich verwende übrigens Linux Lite 6.0.
Prost!