Question Comment activer les jobs utilisateur dans Upstart


J'essaie de permettre aux utilisateurs non privilégiés d'exécuter des travaux de démarrage à partir de leur $HOME/.init annuaire.

Le livre de cuisine Upstart mentionne que vous devez activer ceci, mais ne mentionne pas comment le faire. La frustration peut être résumée par Commentaire de @ropez:

la documentation ne semble pas mentionner Comment pour activer les travaux utilisateur, il ne mentionne que le fichier de configuration, et l'administrateur doit le faire

Je reçois toujours cette erreur quand j'essaie de start un travail en tant qu'utilisateur non privilégié:

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

Le plus proche que j'ai trouvé jusqu'à présent est un aperçu de Quelqu'un a patché Upstart.conf, mais il semble beaucoup plus court que celui que j'utilise dans Ubuntu 12.04.

Y a-t-il une manière canonique et bien définie de le faire?

P.S. je suis conscient de en relation  des questions. Cependant, aucune de leurs réponses ne montre comment le faire.


1
2017-11-19 11:53


origine




Réponses:


La configuration de démarrage "patchée" à laquelle vous accédez est la même que la configuration Upstart fournie avec Upstart 1.3 (de ne peut pas se lancer pour exécuter le travail de l'utilisateur), donc je dirais que c'est le moyen le plus simple d'activer les travaux de l'utilisateur.


1
2017-11-19 12:25



Ubuntu 12.04 est livré avec Upstart 1.5 par défaut et la configuration semble être différente (sans travaux utilisateur activés). - gregoltsov


Cette solution fonctionne pour Upstart 1.5 sur Ubuntu 12.04.

Ouvrez la configuration upstart:

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

Commenter le default politique, à savoir

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

et collez le bloc de ce 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>

0
2017-11-28 15:13