N’est pas dans le fichier sudoers : comment corriger cette erreur sudo 🔧

Le message indiquant qu’un utilisateur n’est pas dans le fichier sudoers signifie que ce compte n’a pas les privilèges nécessaires pour exécuter des commandes avec sudo. Sous Ubuntu ou Debian, la solution consiste généralement à ajouter le compte concerné au groupe sudo depuis un accès root ou un autre compte administrateur, à l’aide de la commande usermod -aG sudo utilisateur. Voici comment diagnostiquer la situation, corriger le problème selon la distribution utilisée, et que faire si aucun accès administrateur n’est disponible.
Que signifie exactement cette erreur sudo
Cette erreur provient du fichier /etc/sudoers, qui définit précisément quels utilisateurs ou groupes sont autorisés à exécuter des commandes avec des privilèges root. Lorsque le compte connecté ne figure dans aucune règle autorisée, sudo refuse systématiquement la commande et affiche ce message. Il ne s’agit pas d’un bug : c’est un comportement de sécurité normal, qui empêche n’importe quel compte de s’octroyer lui-même des droits administrateur Linux.
Ce message apparaît fréquemment après une installation fraîche d’une distribution Linux, lorsque seul le compte root a été configuré pendant l’installation, ou après la création manuelle d’un nouvel utilisateur avec useradd sans lui attribuer explicitement de privilèges. Il peut également survenir sur un serveur nouvellement provisionné, où le compte utilisateur par défaut n’a pas été rattaché au bon groupe.
Vérifier l’utilisateur et ses groupes actuels
Avant toute correction, il est utile de confirmer l’identité du compte concerné et les groupes auxquels il appartient déjà :
whoami
groups
id
La commande whoami confirme le nom du compte actuellement connecté, tandis que groups et id affichent la liste des groupes Linux associés à ce compte. Si le groupe sudo (ou wheel selon la distribution) n’apparaît pas dans cette liste, l’erreur s’explique directement par cette absence.
Ajouter l’utilisateur au groupe sudo sous Ubuntu ou Debian
Un utilisateur sans privilèges ne peut pas s’ajouter lui-même aux sudoers : cette opération doit obligatoirement être réalisée depuis le compte root ou depuis un autre compte administrateur déjà autorisé. Deux commandes équivalentes permettent d’ajouter un utilisateur sudo sous Ubuntu ou Debian :
usermod -aG sudo utilisateur
ou
adduser utilisateur sudo
L’option -aG de usermod est essentielle : elle ajoute le groupe sans supprimer les groupes déjà attribués au compte. Omettre le -a remplacerait entièrement la liste des groupes existants, ce qui peut casser d’autres permissions.
Le groupe wheel sur certaines distributions
Sur des distributions comme CentOS, Fedora ou RHEL, le mécanisme est identique mais repose généralement sur le groupe wheel plutôt que sur le groupe sudo. La commande devient alors :
usermod -aG wheel utilisateur
Le principe reste le même : ce groupe doit être explicitement autorisé dans la configuration sudoers de la distribution, ce qui est généralement le cas par défaut sur ces systèmes.
| Distribution | Groupe utilisé | Commande d’ajout | Fichier concerné |
|---|---|---|---|
| Ubuntu / Debian | sudo | usermod -aG sudo utilisateur | /etc/sudoers |
| CentOS / RHEL / Fedora | wheel | usermod -aG wheel utilisateur | /etc/sudoers |
Se déconnecter et se reconnecter pour appliquer le changement
L’appartenance à un nouveau groupe n’est pas toujours prise en compte immédiatement dans une session déjà ouverte. Après avoir ajouté un utilisateur sudo, une déconnexion suivie d’une reconnexion, ou simplement l’ouverture d’un nouveau terminal selon les cas, permet généralement de résoudre le problème. Il est ensuite possible de vérifier que les droits ont bien été appliqués.
Vérifier que les droits sudo fonctionnent
Deux commandes permettent de confirmer que la modification a bien pris effet :
sudo -l
sudo whoami
sudo -l liste précisément les commandes que l’utilisateur est autorisé à exécuter avec sudo. sudo whoami doit, quant à elle, retourner root si les privilèges sont correctement accordés. Si l’erreur persiste après ces vérifications, il est probable que la session n’a pas encore intégré le nouveau groupe, ou que le compte utilisé pour effectuer l’ajout ne disposait pas lui-même des droits nécessaires.
Il peut aussi arriver que sudo demande un mot de passe alors que l’utilisateur pensait ne pas en avoir défini. Ce mot de passe correspond à celui du compte utilisateur lui-même, et non à un mot de passe root distinct, sauf configuration spécifique du fichier sudoers prévoyant une exécution sans mot de passe pour certaines commandes.
Ajouter une règle individuelle avec visudo ou sudoers.d
Il est possible d’accorder des privilèges à un utilisateur sans passer par un groupe, en ajoutant une règle individuelle dans le fichier /etc/sudoers. Cette modification ne doit jamais être réalisée avec un éditeur de texte classique comme nano ou vim ouvert directement sur le fichier : la commande visudo doit toujours être utilisée, car elle vérifie la syntaxe avant d’enregistrer et empêche ainsi de rendre sudo totalement inutilisable en cas d’erreur.
visudo
Une méthode plus sûre consiste à créer un fichier dédié dans /etc/sudoers.d/, plutôt que de modifier directement le fichier principal :
visudo -f /etc/sudoers.d/utilisateur
Ce fichier séparé peut contenir une ligne comme utilisateur ALL=(ALL) ALL, accordant les mêmes privilèges qu’une appartenance au groupe sudo, tout en isolant la règle dans un fichier facilement identifiable et supprimable si nécessaire.
Que faire sans accès root ni autre compte administrateur
Sur une machine personnelle où aucun compte administrateur Linux n’est accessible, il faut généralement passer par le mode récupération Ubuntu, accessible depuis le menu GRUB au démarrage. Ce mode donne un accès root temporaire permettant d’exécuter directement usermod -aG sudo utilisateur sans authentification supplémentaire. Un live USB peut également être utilisé en dernier recours pour monter le disque et corriger le fichier /etc/sudoers ou les groupes concernés depuis un environnement externe.
Sur un serveur distant administré par un tiers, comme un hébergeur cloud, la marche à suivre est différente : il faut généralement contacter le support ou utiliser une console de secours fournie par la plateforme, plutôt que de tenter une intervention physique impossible sur ce type d’infrastructure.
Éviter les erreurs de permissions sur le fichier sudoers
Une mauvaise manipulation du fichier /etc/sudoers peut rendre sudo complètement inopérant sur l’ensemble du système, y compris pour les comptes déjà autorisés. Les permissions de ce fichier doivent rester strictement à 0440, et seul visudo doit être utilisé pour toute modification. En cas de doute sur une modification déjà réalisée avec un autre éditeur, il est préférable de relancer visudo, qui signalera immédiatement toute erreur de syntaxe avant qu’elle ne devienne bloquante.
