Recherche de site Web

Correction « Le nom d'utilisateur n'est pas dans le fichier Sudoers. Cet incident sera signalé


Dans les systèmes Unix/Linux, le compte utilisateur root est le compte super utilisateur, et il peut donc être utilisé pour faire tout ce qui est réalisable sur le système.

Cependant, cela peut être très dangereux à bien des égards : il se peut que l'utilisateur root entre une mauvaise commande et endommage tout le système, ou qu'un attaquant puisse accéder à un compte d'utilisateur root et en prendre le contrôle. de l'ensemble du système et qui sait ce qu'il peut faire.

Dans ce contexte, dans Ubuntu et ses dérivés, le compte utilisateur root est verrouillé par défaut, les utilisateurs réguliers (administrateurs système ou non) ne peuvent obtenir les privilèges de superutilisateur qu'en utilisant le commande sudo.

Et l'une des pires choses qui puisse arriver à un administrateur système Ubuntu est de perdre les privilèges d'utilisation de la commande sudo, une situation communément appelée « sudo cassé ». Cela peut être absolument dévastateur.

Un sudo cassé peut être dû à l'une des causes suivantes :

  • Un utilisateur ne doit pas avoir été supprimé du groupe sudo ou admin.
  • Le fichier /etc/sudoers a été modifié pour empêcher les utilisateurs du groupe sudo ou admin d'élever leurs privilèges à ceux de root<. à l'aide de la commande sudo.
  • L'autorisation sur le fichier /etc/sudoers n'est pas définie sur 0440.

Afin d'effectuer des tâches cruciales sur votre système, telles que l'affichage ou la modification de fichiers système importants ou la mise à jour du système, vous avez besoin de la commande sudo pour obtenir les privilèges de superutilisateur. Que se passe-t-il si l'utilisation de sudo vous est refusée pour une ou plusieurs des raisons mentionnées ci-dessus.

Vous trouverez ci-dessous une image montrant un cas dans lequel l'utilisateur système par défaut ne peut pas exécuter la commande sudo :

tecmint@TecMint ~ $ sudo visudo
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file.   This incident will be reported.

tecmint@TecMint ~ $ sudo apt install vim
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file.   This incident will be reported.

Comment réparer la commande sudo cassée dans Ubuntu

Si vous utilisez uniquement Ubuntu sur votre ordinateur, après l'avoir allumé, appuyez sur la touche Shift pendant quelques secondes pour obtenir le démarrage de Grub. menu. D'un autre côté, si vous exécutez un double démarrage (Ubuntu avec Windows ou Mac OS X), vous devriez voir le menu de démarrage de Grub par défaut.

À l'aide de la Flèche vers le bas, sélectionnez « Options avancées pour Ubuntu » et appuyez sur Entrée.

Vous serez sur l'interface ci-dessous, sélectionnez le noyau avec l'option « mode de récupération » comme ci-dessous et appuyez sur Entrée pour passer au « Menu de récupération ».

Vous trouverez ci-dessous le « Menu de récupération », indiquant que le système de fichiers racine est monté en lecture seule. Passez à la ligne « root Drop to root shell prompt », puis appuyez sur Entrée.

Ensuite, appuyez sur Entrée pour la maintenance :

À ce stade, vous devriez être à l’invite du shell root. Comme nous l'avons vu précédemment, le système de fichiers est monté en lecture seule. Par conséquent, pour apporter des modifications au système, nous devons le remonter en lecture/écriture en exécutant la commande ci-dessous :

mount -o rw,remount /

Résolution du cas n°1 – Ajouter un utilisateur au groupe sudo ou admin

En supposant qu'un utilisateur a été supprimé du groupe sudo, pour rajouter l'utilisateur au groupe sudo, exécutez la commande ci-dessous :

adduser username sudo

Remarque : N'oubliez pas d'utiliser le nom d'utilisateur réel sur le système. Dans mon cas, il s'agit de aaronkilik.

Ou bien, à condition qu'un utilisateur ait été supprimé du groupe admin, exécutez la commande suivante :

adduser username admin

Résolution du cas n°2 – Accorder des privilèges sudo aux utilisateurs

En supposant que le fichier /etc/sudoers ait été modifié pour empêcher les utilisateurs du groupe sudo ou admin d'élever leurs privilèges à ceux d'un super utilisateur, puis faites une sauvegarde des fichiers sudoers comme suit :

cp /etc/sudoers /etc/sudoers.orginal

Ensuite, ouvrez le fichier sudoers.

visudo

et ajoutez le contenu ci-dessous :

#
This file MUST be edited with the 'visudo' command as root.
#
Please consider adding local content in /etc/sudoers.d/ instead of
directly modifying this file.
#
See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbi$

Host alias specification

User alias specification

Cmnd alias specification

User privilege specification
root    ALL=(ALL:ALL) ALL

Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Résolution du cas n°3 – Définition de l'autorisation correcte sur le fichier sudoers

En supposant que l'autorisation sur le fichier /etc/sudoers ne soit pas définie sur 0440, exécutez la commande suivante pour corriger la situation :

chmod  0440  /etc/sudoers

Enfin, après avoir exécuté toutes les commandes nécessaires, tapez la commande exit pour revenir au « Menu de récupération » :

exit 

Utilisez la Flèche droite pour sélectionner et appuyez sur Entrée :

Appuyez sur pour continuer la séquence de démarrage normale :

Résumé

Cette méthode devrait fonctionner très bien, surtout lorsqu'il s'agit d'un compte d'utilisateur administratif impliqué, où il n'y a pas d'autre choix que d'utiliser le mode de récupération.

Cependant, si cela ne fonctionne pas pour vous, essayez de nous revenir en exprimant votre expérience via la section commentaires ci-dessous. Vous pouvez également proposer des suggestions ou d’autres moyens possibles pour résoudre le problème en question ou améliorer complètement ce guide.