web-dev-qa-db-fra.com

Laisser l'utilisateur normal redémarrer le service avec / etc / sudoers

J'ai un service (kado-demo.service) qu'un utilisateur normal (kado) devrait pouvoir redémarrer sans entrer de mot de passe.

J'ai créé /etc/sudoers.d/user_restart et ajouté

kado ALL=NOPASSWD: /bin/systemctl restart kado-demo.service

Permissions:

-r--r-----   1 root root   585 Mar  5 10:47 user_restart

En tant qu'utilisateur k, je devrais maintenant pouvoir exécuter la commande donnée, mais ceci se produit:

/bin/systemctl restart kado-demo.service
 ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
 Authentication is required to restart 'kado-demo.service'. 
 Multiple identities can be used for authentication:
  (...)

Quel est le même résultat que précédemment, j'ai ajouté le fichier.

Le /etc/sudoers contient

#includedir /etc/sudoers.d

Et j’obtiens même le même résultat lorsque j’ajoute le contenu du fichier user_restart directement à /etc/sudoers.

Je manque d'idées ...

4
FooTheBar

Pour que sudoers prenne effet, vous devez utiliser Sudo. :) Faire:

Sudo systemctl restart kado-demo.service

Et il ne demandera pas de mot de passe.

Si vous n'utilisez pas Sudo, systemctl revient à utiliser Polkit pour autorisation.

5
Olorin