Cet article explique comment "réparer" sudo ne fonctionne pas sous Linux, ce qui entraîne ce message lorsque vous essayez de l'utiliser :"Votre nom d'utilisateur n'est pas dans le fichier sudoers. Cet incident est signalé. sur Debian (et les distributions Linux basées sur Debian comme Ubuntu). sudo permet aux administrateurs système d'exécuter des commandes en tant que root (administrateur) ou un autre utilisateur.
Exemple d'une nouvelle installation de Debian 10 (10.1) Buster avec sudo ne fonctionnant pas :
$ sudo apt update
[sudo] password for logix:
logix is not in the sudoers file. This incident will be reported.
sudo ne fonctionne pas par défaut sur une installation Fresh Debian car votre nom d'utilisateur n'est pas automatiquement ajouté au groupe sudo (il fonctionne par défaut sur Ubuntu). Cependant, vous pouvez également voir cela si vous avez créé un nouvel utilisateur mais que vous avez oublié de l'ajouter au groupe sudo, ou si un autre utilisateur de votre système a supprimé le nom d'utilisateur du groupe sudo.
Vous pouvez vérifier si l'utilisateur actuellement connecté appartient au groupe sudo en utilisant le groups
Commande. Si le groups
La commande ne renvoie pas sudo
Sur les distributions Linux basées sur Debian, ce nom d'utilisateur ne peut pas exécuter les commandes sudo
. Exemple avec la sortie d'un utilisateur Debian qui n'est pas dans le groupe sudo :
$ groups
logix cdrom floppy audio dip video pugdev netdev scanner lpadmin
Vous pourriez aimer ceci :Comment installer le dernier Firefox (non-ESR) sur Debian 10 Buster (stable) ou Bullseye (test)
La solution à cela est d'ajouter cet utilisateur au groupe sudo. Mais comment obtenir root dans ce cas, puisqu'en tant qu'utilisateur normal, vous ne pouvez pas modifier ou ajouter des utilisateurs ? Utilisez su -
(ou sudo su -
), puis ajoutez l'utilisateur au groupe sudo.
Donc pour obtenir root, ajoutez votre utilisateur à ce sudo
Groupe, utilisez :
su -
usermod -aG sudo YOUR_USERNAME
exit
Où :
-
su
passe à l'utilisateur root tandis que-
exécute un shell de connexion pour que des choses comme/etc/profile
,.bashrc
, et ainsi de suite sont exécutés (c'est ainsi que des commandes commeusermod
sera dans le vôtre$PATH
vous n'avez donc pas besoin de saisir le chemin d'accès complet à l'exécutable). Vous pouvez également utilisersudo su -
Au lieu desu -
- Vous devez remplacer
YOUR_USERNAME
avec le nom d'utilisateur que vous souhaitez ajouter au groupe sudo. - J'ai utilisé
usermode
pour ajouter un groupe à un utilisateur existant car cela devrait fonctionner sur n'importe quelle distribution Linux.adduser
ouuseradd
peut également être utilisé pour (adduser USERNAME -G sudo
), mais ils peuvent ne pas fonctionner sur toutes les distributions Linux. Bien que cet article soit pour Debian, je voulais également rendre cela possible sur d'autres distributions Linux (j'ai remarqué queadduser
ne fonctionne pas sur Solus OS par exemple). -
exit
le shell racine existe pour que vous puissiez à nouveau exécuter des commandes en tant qu'utilisateur normal.
Après cela, sudo ne fonctionne toujours pas ! Vous devez vous déconnecter de cet utilisateur, puis vous reconnecter et sudo fonctionnera.
Cela corrige le problème "Le nom d'utilisateur n'est pas dans le fichier sudoers. Cet incident est signalé" sur votre machine Debian, mais vous pouvez rencontrer un autre problème dans certains cas - sudo n'est pas du tout installé par défaut. C'est le cas, par exemple, avec une installation minimale de Debian. Dans ce cas, vous verrez une erreur comme celle-ci lorsque vous essayez d'exécuter une commande avec sudo :
$ sudo apt update
bash: sudo: command not found
Dans ce cas, installez sudo
sur Debian comme ceci :
su - #or 'sudo su -'
apt install sudo
exit
D'autres articles sur Debian pourraient vous plaire :
- Comment rétrograder des packages vers une version spécifique à l'aide d'apt dans Debian, Ubuntu ou Linux Mint
- Comment afficher un historique des packages installés, mis à jour ou supprimés dans Debian, Ubuntu ou Linux Mint [dpkg]
- Comment répertorier tous les packages d'un référentiel sur Ubuntu, Debian ou Linux Mint [APT]
- Comment trouver le paquet qui fournit un fichier (installé ou non) sur Ubuntu, Debian ou Linux Mint