
$HOME/.init
Ich 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, start
einen 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 default
Richtlinie 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>