web-dev-qa-db-fra.com

Les modifications apportées aux sudoers n’ont aucun effet. Suivre le tutoriel de base sur Ubuntu

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).

sudoers file

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

  • J'ai essayé de redémarrer (avec Sudo) et il n'y a toujours aucun effet
  • Mon shell est ZSH
  • Je prédis que je vais me donner un coup de pied quand j'aurai une réponse.
2
David Tuite

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é.

2
terdon