Ich verwalte einen CentOS 6.2-Server remote mit X über SSH (eigentlich NX, aber das ist nur ein Proxy).
Alles funktioniert ordnungsgemäß, außer wenn ich versuche, Aufgaben auszuführen, für die normalerweise Administratorrechte erforderlich sind (z. B. Dinge in palimpsest
oder andere GUI-Tools).
Wenn ich versuche, Dinge zu tun, die einen Authentifizierungsdialog (durch polkit-gnome
) auslösen würden, schlägt der Berechtigungsdialog stillschweigend fehl, und die Software wird als mein Benutzerkonto und nicht als root ausgeführt.
Wenn ich die Paketeinstellungen mithilfe des Paketmanagers an der lokalen Konsole ändere, wird zur Verdeutlichung ein Popup angezeigt: "Zum (Hinzufügen / Entfernen) von Paketen ist eine Authentifizierung erforderlich."
Wenn ich dies remote mache, schlägt die Authentifizierung fehl und ich erhalte das Dialogfeld "Autorisierung fehlgeschlagen".
Es scheint sich auf die Policykit-Konfiguration zu beschränken, aber ich habe die Polkit-Manpages befolgt und meine Konfiguration bearbeitet, und es hat sich nichts geändert.
Ich kann Pakete / Super-User-Sachen ohne Probleme über die Kommandozeile verwalten. Ich bin jedoch sehr visuell orientiert und bevorzuge nach Möglichkeit eine grafische Benutzeroberfläche.
Ok, es scheint also, dass ich dem Policykit eine neue Regel hinzufügen muss.
Ich verließ die Manpages, erstellte eine Datei (mit dem Namen 20-remote-admin-allow.pkla
) und legte sie dort ab /etc/polkit-1/localauthority/50-local.d/
. Da es anscheinend mehrere Polkit-Konfigurationsverzeichnisse gibt, habe ich dieselbe Datei in kopiert /var/lib/polkit-1/localauthority/50-local.d/
.
Es scheint nichts geändert zu haben.
Hier ist meine Konfigurationsdatei, wie oben erwähnt:
[root@cloaica zul]# cat /var/lib/polkit-1/localauthority/50-local.d/10-remote-admin-allow.pkla
[Let remote users do admin stuff]
Identity=unix-user:zul
Action=*
ResultAny=auth_admin
ResultInactive=auth_admin
ResultActive=auth_self_keep
[root@cloaica zul]# cat /etc/polkit-1/localauthority/50-local.d/20-remote-admin-allow.pkla
[Allow Remote Administraton]
Identity=unix-user:zul
Action=*
ResultAny=auth_admin
ResultInactive=auth_admin
ResultActive=auth_admin
[root@cloaica zul]#
pkaction --verbose
berichtet immer noch
implicit any: no
implicit inactive: no
Für die meisten Aktionen und die genannten Aktionen schlagen fehl, wenn ich sie versuche, mit dem oben erwähnten Dialogfeld "Authentifizierung fehlgeschlagen".
Im Ernst, verstehe jemand wirklich, wie Polkit tatsächlich funktioniert?
Policykit scheint ein Albtraum zu sein, und da es früher ein GUI-Konfigurationstool gab und es entfernt wurde , verstehe ich nicht, wie jemand dachte, dass dies für die Veröffentlichung in einem Produktionsbetriebssystem bereit ist.
Um es klar auszudrücken, ich möchte die Dialogfelder "Bitte authentifizieren, um diese Aktion auszuführen". Ich möchte sie nur tatsächlich haben , anstatt das System stillschweigend nicht authentifizieren zu lassen.
Ich möchte nicht das gesamte Polkit entfernen, sondern nur annehmen, dass alle Sitzungen aktiv sind oder dass inaktive Sitzungen dieselben Berechtigungen wie aktive Sitzungen erhalten.
/etc/polkit-1
und /var/lib/polkit-1
. Siehe auch pkaction --verbose
Ausgabe und pklocalauthority
Manpage.
.pkla
Erweiterung haben. 2) es sollte geben Identity
und nicht AdminIdentities
; 3) pkaction
gibt Informationen für registrierte Aktionen zurück (gefunden in /usr/share/polkit-1/actions/*
) und zeigt keine lokalen Änderungen an, daher ist es besser, es zu versuchen, als daran zu glauben pkaction
.