Je suis le tutoriel Ubuntu sudoers .
Voici mon fichier exact /etc/sudoers
(capture d’écran au lieu de bloc de code car la mise en forme était perturbée).
Remarquez les lignes du bas qui devraient permettre à l'utilisateur deployer
de pouvoir éteindre et redémarrer. Le fichier sudoers est syntaxiquement parfait et n’enregistre aucun problème.
J'ai terminé ma session SSH et me suis connecté à nouveau.
$ whoami => deployer $ reboot => reboot: Need to be root
Quel pourrait être le problème?
Quelques idées
Les paramètres que vous utilisez permettront à votre utilisateur d’exécuter Sudo reboot
sans entrer de mot de passe . Vous aurez toujours besoin de l'exécuter avec Sudo
bien que le mieux que vous puissiez obtenir soit sans mot de passe Sudo
pour certaines commandes.
Ceci est dû au fonctionnement du système. Lorsque vous essayez d'exécuter, par exemple, reboot
, en tant qu'utilisateur normal, vous obtenez le message suivant:
$ reboot
reboot: must be superuser.
Cela n'a rien à voir avec Sudo
, la commande en question vérifie simplement si votre ID utilisateur est 1 (le super utilisateur) et si ce n'est pas le cas, il ne vous laissera pas l'exécuter. Vous pourriez configurer votre système de manière à ce qu'un autre utilisateur ait l'ID utilisateur 1, mais cela changerait simplement le nom d'utilisateur root
et vous donnerait beaucoup ennui sans raison (et ne vous aiderait pas à faire ce que vous essayez de toute façon).
Ainsi, à moins que vous ne soyez réellement connecté en tant qu'utilisateur dont l'ID utilisateur est 1, vous devrez toujours utiliser Sudo
pour exécuter des commandes privilégiées. La seule solution de contournement consiste à créer un alias (ou une fonction ou un script) pour reboot
dans le fichier de configuration de votre shell (~/.bashrc
par exemple):
alias reboot='Sudo reboot'
De cette façon, puisque vous avez déjà défini shutdown
pour qu'il ne soit pas associé à un mot de passe dans /etc/sudoers
, vous pourrez exécuter
$ reboot
et obtenez le résultat souhaité.