J'essaie de configurer un travail Upstart à exécuter au démarrage du système, et qui peut également être démarré / arrêté par des membres d'un groupe autre que sudo
. Avec une version précédente, j'ai utilisé update-rc.d
et des scripts stockés /etc/init.d/
pour que cela fonctionne en ajoutant %Group ALL = NOPASSWD: /etc/init.d/scriptname
à mon fichier sudoers, mais je n'arrive pas à obtenir un équivalent pour Upstart.
J'ai essayé d'ajouter %Group ALL = NOPASSWD: /sbin/initctl start jobname
au fichier sudoers, mais essayer d'exécuter la commande start jobname
produit cette erreur:
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.21" (uid=1000 pid=5148 comm="start jobname " interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
Autant que je sache, c'est une plainte sur la façon dont mon compte d'utilisateur n'est pas autorisé à envoyer des messages de démarrage dans le fichier de configuration D-Bus pour Upstart. Je n'ai pas pu trouver réellement d'informations sur la façon de modifier ce fichier pour donner à un groupe l'autorisation d'accéder à un service spécifique - une telle option existe-t-elle? Existe-t-il un moyen de modifier le fichier Sudoers afin que je puisse exécuter le travail sans modifier le fichier de configuration? Suis-je mieux de rester avec la version précédente?