So aktivieren Sie Benutzerjobs in Upstart

So aktivieren Sie Benutzerjobs in Upstart

$HOME/.initIch versuche, nicht privilegierten Benutzern zu erlauben, Upstart-Jobs aus ihrem Verzeichnis auszuführen .

Upstart Kochbuch erwähnt, dass Sie müssenAktivieren Sie diese, aber es wird nicht erwähnt, wie es geht. Die Frustration kann wie folgt zusammengefasst werden:Kommentar von @ropez:

die Dokumentation scheint nicht zu erwähnenWieum Benutzerjobs zu aktivieren, wird nur die Konfigurationsdatei erwähnt und dass der Administrator dies tun muss

Wenn ich versuche, starteinen Job als nicht privilegierter Benutzer auszuführen, wird mir immer noch dieser Fehler angezeigt:

start: Rejected send message, 1 matched rules; type="method_call", sender=":1.70"

Das Nächste, was ich bisher gefunden habe, ist eine Zusammenfassung vonjemand hat Upstart.conf gepatcht, aber es scheint viel kürzer zu sein als das in Ubuntu 12.04, das ich verwende.

Gibt es eine kanonische, klar definierte Möglichkeit, dies zu tun?

PS Ich bin mir bewusstverwandt Fragen. Allerdings zeigt keine ihrer Antworten, wie das tatsächlich geht.

Antwort1

Die „gepatchte“ Upstart-Konfiguration, auf die Sie verlinken, ist die gleiche wie die Upstart-Konfiguration, die mitgeliefert wurdeEmporkömmling 1.3(ausUpstart kann Benutzerjob nicht ausführen), daher würde ich sagen, dass dies der einfachste Weg ist, Benutzerjobs zu aktivieren.

Antwort2

Diese Lösung funktioniert für Upstart 1.5 unter Ubuntu 12.04.

Öffnen Sie die Upstart-Konfiguration:

sudo vim /etc/dbus-1/system.d/Upstart.conf

Kommentieren Sie die defaultRichtlinie aus, d. h.

<policy context="default">
    ...
</policy>

und fügen Sie den Block ein vondieser Patch:

<!--
Allow any user to invoke all of the methods on Upstart, its jobs
or their instances, and to get and set properties - since Upstart
isolates commands by user.
 -->
<policy context="default">
    <allow send_destination="com.ubuntu.Upstart"
        send_interface="org.freedesktop.DBus.Introspectable" />
    <allow send_destination="com.ubuntu.Upstart"
        send_interface="org.freedesktop.DBus.Properties" />
    <allow send_destination="com.ubuntu.Upstart"
        send_interface="com.ubuntu.Upstart0_6" />
    <allow send_destination="com.ubuntu.Upstart"
        send_interface="com.ubuntu.Upstart0_6.Job" />
    <allow send_destination="com.ubuntu.Upstart"
        send_interface="com.ubuntu.Upstart0_6.Instance" />
</policy>

verwandte Informationen