GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wie konfiguriere ich Dbus so, dass Ssh-Benutzer den Server anhalten können?

Ich versuche, meinen Server mit dbus und UPower anzuhalten. Auf dem Server läuft Ubuntu LucidLynx 64bit.

Wenn ich direkt an der Maschine sitze, funktioniert alles einwandfrei, aber über ssh funktioniert es nicht.
Wenn ich mich über ssh mit dem Server verbinde und versuche, die Maschine mit dbus und upower zu suspendieren, gibt sie zurück

dbus.exceptions.DBusException:org.freedesktop.UPower.GeneralError:nicht autorisiert

Könnte mir bitte jemand sagen, wie ich dbus konfigurieren muss, um ssh-Benutzern zu erlauben, die Maschine zu suspendieren?

Akzeptierte Antwort:

Dafür gibt es zwei grundlegende Möglichkeiten und einen Workaround:

Entweder müssen Sie /usr/share/polkit-1/actions/org.freedesktop.upower.policy ändern , legen Sie den XDG_SESSION_COOKIE fest Umgebungsvariable auf den entsprechenden Wert oder verwenden Sie pm-suspend :

Ändern von /usr/share/polkit-1/actions/org.freedesktop.upower.policy

Wenden Sie diesen Patch an:

--- /usr/share/polkit-1/actions/org.freedesktop.upower.policy.orig  2011-11-16 19:06:59.274055248 +0100
+++ /usr/share/polkit-1/actions/org.freedesktop.upower.policy   2011-11-16 19:11:15.178864922 +0100
@@ -21,6 +21,7 @@
     <defaults>
       <allow_inactive>no</allow_inactive>
       <allow_active>yes</allow_active>
+      <allow_any>yes</allow_any>
     </defaults>
   </action>
 

(Zum <action id="org.freedesktop.upower.suspend"> Tag/Abschnitt), und es wird auch funktionieren …

oder

XDG_SESSION_COOKIE

Wenn Sie den Desktop verwenden, sehen Sie diesen $XDG_SESSION_COOKIE hat einen Wert, aber in einer SSH-Sitzung hat es einen anderen. Speichern Sie XDG_SESSION_COOKIE z.B. in einer .dot-Datei oder so etwas, wenn der Desktop startet, und beziehen Sie es in Ihr Skript, das dies über ssh tun muss.

pm-suspend

Oder Sie könnten es einfach aufgeben, es mit dbus zu tun und UPower und geben Sie einfach pm-suspend aus als root und fertig! 🙂


Ubuntu
  1. So lassen Sie Remote-Verbindungen zu MySQL zu

  2. So installieren und konfigurieren Sie den OpenVPN-Zugriffsserver

  3. So installieren und konfigurieren Sie einen FTP-Server (vsftpd) mit SSL/TLS unter Ubuntu 20.04

  4. So installieren und konfigurieren Sie den DHCP-Server unter Ubuntu 20.04

  5. So installieren und konfigurieren Sie den Redis-Server in Ubuntu

So konfigurieren Sie OpenVPN unter Ubuntu 16.04

So installieren und konfigurieren Sie DHCP unter Ubuntu 18.04

So konfigurieren Sie den DNS-Server unter Ubuntu 18.04 / Ubuntu 16.04

So installieren und konfigurieren Sie den DHCP-Server unter Linux

So konfigurieren Sie den Squid-Proxyserver unter Ubuntu 20.04 LTS

So installieren und konfigurieren Sie LAMP Server unter Ubuntu