Zur Verwaltung von Systemdiensten oder -einheiten ist eine Authentifizierung erforderlich.

19

Ich habe ein seltsames Problem, wenn ich versuche, einen Daemon als regulärer Benutzer zu stoppen / starten. Er fragt nach der Authentifizierung mit den Anmeldeinformationen eines anderen regulären Benutzers. Beispiel:

[bob@server ~]$ systemctl stop some-daemon.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: alice
Password: 

Warum muss Alice sich authentifizieren, wenn Bob angemeldet ist, und wie kann ich das beheben?

Jack O'Leary
quelle
Wie sieht die Dienstkonfigurationsdatei aus?
Jenny D sagt Reinstate Monica
@JennyD: Wo ist der Dateispeicherort der Config?
Jack O'Leary
Was willst du Sie möchten für jeden Benutzer einen eigenen Kopierservice starten? ZB einen eigenen VNC-Daemon für Alice und einen eigenen VNC-Daemon für Bob ?
Alexander Tolkachev
@AlexanderT: Jeder Benutzer muss einen eigenen VNC-Server haben, so ist er konzipiert, also ja - das ist mehr oder weniger alles. Bob betreibt zwar keinen VNC-Server, aber er betreibt etwas, das nichts damit zu tun hat. Als er versucht, ihn zu starten, fragt er nach Alices Passwort ... (Achselzucken).
Jack O'Leary
@ JackO'Leary, du könntest versuchen es so zu benutzen, systemd --userwie es in diesem Artikel beschrieben ist . Andernfalls könnten Sie jedem Benutzer sudo für die erforderlichen Dienste zuweisen.
Alexander Tolkachev

Antworten:

8

Ihr System verwendet den polkitAutorisierungs-Manager und die Nachricht stammt aus der Datei /usr/share/polkit-1/actions/org.freedesktop.systemd1.policy. polkitkann in /etc/polkit-1und /usr/share/polkit-1Verzeichnissen konfiguriert werden , genauer in den rules.dund actionsUnterverzeichnissen. Weitere Informationen finden Sie auf der Manpage zu Polkit .

Johan Myréen
quelle
In der Dokumentation heißt es: "Mit polkit können Benutzer eine temporäre Autorisierung erhalten, indem sie entweder einen Administrator oder den Eigentümer der Sitzung authentifizieren, zu der der Client gehört." Vielleicht kann dies einen Hinweis darauf geben, warum nach dem Passwort von Alice gefragt wird.
Johan Myréen
Ich denke, Sie sind auf etwas hier, obwohl ich immer noch völlig verloren habe, wo die Regel entfernt werden soll oder was auch immer der andere Benutzer verlangt, der sich immer wieder authentifiziert. Ich habe in diesen beiden Verzeichnissen nachgesehen und sogar nach "Alice" gesucht und nichts wurde zurückgegeben.
Jack O'Leary
Sie haben su - alicevorhin gesagt, dass Sie vor dem Starten des vnc-Daemons einen ausgeführt haben. Ich denke, das macht Alice zum "Eigentümer der Sitzung, zu der der Client gehört".
Johan Myréen
Was jedoch keinen Sinn ergibt, ist, dass es nur für einen Dienst durchgeführt wurde, der dann gestoppt und der Benutzer abgemeldet wurde. Der andere Dienst für Bob sollte nichts mit Alice zu tun haben, da es etwas völlig anderes war - Es ist sehr seltsam ... Es würde mir nichts ausmachen, Polkit insgesamt zu deaktivieren, wenn dies das normale Verhalten ist.
Jack O'Leary
Mit dem loginctlBefehl können Sie herausfinden, wer der Eigentümer der Sitzung ist . Dies könnte meine Theorie bestätigen oder widerlegen, dass Polkit den Eigentümer der Sitzung zur Authentifizierung auffordert. Ich kann wirklich nicht sagen, warum Alice in diesem Fall die Besitzerin ist.
Johan Myréen
4

Wenn Sie Systemdienste verwalten, müssen Sie dies als root und nicht als normaler Benutzer tun. Dies wird durch ein $Zeichen am Ende der Shell-Eingabeaufforderung angezeigt.

Sie können entweder sudo commandroot verwenden oder zu root wechseln (die Root-Shell wird normalerweise durch #char angegeben).

Khaled
quelle
Auch wenn ich es als root mache, fragt es nach der normalen Benutzerauthentifizierung. Grundsätzlich tat der Root-Benutzer su - alice, um dann systemctlihren vnc-Daemon zu starten, aber jetzt fragt er nach ihrer Authentifizierung für jeden, systemctlegal was es ist ...
Jack O'Leary
Ich habe die Fehlermeldung erhalten, als ich '/etc/init.d/munge start' eingegeben habe. Hinzufügen von Sudo behoben. Vielen Dank!
Fchen
0

Überprüfen Sie die Regel / etc / groups und sudoers. Dies kann passieren, wenn sich eine Person der Radgruppe hinzufügt und auf diese Weise wurzelt.

natermer
quelle