Menu Fermer

Erreur “n’apparaît pas dans le fichier sudoers”

Au moment d’exécuter une commande en utilisant sudo, vous obtenez le message suivant :

<utilisateur> n'apparaît pas dans le fichier sudoers. Cet incident sera signalé.

Cela peut toucher n’importe quelle distribution Linux comme Ubuntu, Mint, Debian, Fedora et autres.

Ce tutoriel vous donne les explications et solutions afin de résoudre ce message sudoers.

Erreur "n'apparaît pas dans le fichier sudoers"

“n’apparaît pas dans le fichier sudoers” : les causes

Ce message apparaît lorsque vous tentez de passer une commande sudo avec un utilisateur qui n’a pas les permissions.
Pour rappel, sudo (substitute user do) est un programme conçu pour permettre à un utilisateur d’exécuter une commande sous un autre.
Dans la plupart des distributions Linux, il est installé par défaut pour permettre à un utilisateur d’exécuter des commandes root.
Pour cela, il faut que l’utilisateur soit déclaré dans le fichier sudoers ou fassent partie d’un groupe utilisateur ayant ces autorisations.
Lorsque ce n’est pas le cas, sudo interdit l’exécution et affiche :

<utilisateur> n'apparaît pas dans le fichier sudoers. Cet incident sera signalé.

L’évènement est consigné dans les journaux systèmes pour être vu par un administrateur.
Ici l’utilisateur démo n’a pas les autorisations d’utiliser sudo en tant que root “command not allowed”.

Dec 15 14:11:21 2022 : demo : command not allowed ; HOST=Ubuntu-VM ; TTY=pts/0 ;
    PWD=/home/demo ; USER=root ; COMMAND=/usr/bin/ls /
sudo - "n'apparaît pas dans le fichier sudoers"

“n’apparaît pas dans le fichier sudoers” : les solutions

Ajouter l’utilisateur dans le groupe sudo (solution 1)

Pour résoudre cela, il faut ajouter l’utilisateur dans le groupe sudo.
Cela nécessite d’avoir un utilisateur administrateur. Si ce n’est pas le cas, vous serez bloqué.

  • Ouvrez un Terminal
  • Connectez-vous en root à l’aide de la commande su :
su -
  • Puis utilisez la commande suivante en remplaçant par le nom d’utilisateur avec lequel vous obtenez l’erreur sudoers
adduser <utilisateur> sudo
  • Par exemple, s’il s’agit de l’utilisateur kevin :
adduser kevin sudo

Notez que vous pouvez aussi utiliser la commande sudo, si vous avez un autre utilisateur disponible avec lequel sudo fonctionne :

sudo adduser <utilisateur> sudo
  • Fermez et relancez le terminal où l’erreur “n’apparaît pas dans le fichier sudoers” s’affiche, relancez votre commande root, elle devrait fonctionner

Créez une règle sudoers (solution 2)

Une autre solution consiste à créer un privilège sudo explicite pour votre utilisateur concerné par “n’apparaît pas dans le fichier sudoers”.
Pour cela :

  • Editez la configuration sudo avec visudo :
su -
visudo
  • Puis ajoutez la ligne suivante en remplaçant par le nom d’utilisateur concerné
<utilisateur> ALL=(ALL:ALL) ALL
  • Par exemple pour l’utilisateur kevin :
kevin ALL=(ALL:ALL) ALL
  • Enregistrez les modifications