Ce tutoriel explique comment restaurer les privilèges sudo à un utilisateur à partir du mode de récupération sur Ubuntu Linux et ses dérivés comme Linux mint, les systèmes d'exploitation Pop OS. J'ai testé ce guide sur le système Ubuntu 18.04 LTS. Cependant, cela devrait également fonctionner sur d'autres distributions Linux.
Présentation
L'autre jour, je testais comment ajouter un utilisateur régulier au groupe sudo et supprimer les privilèges donnés pour qu'il redevienne un utilisateur normal sur Ubuntu.
Lors des tests, j'ai supprimé mon utilisateur administratif du 'sudo'
grouper. Comme vous le savez déjà, un utilisateur doit être dans le groupe sudo pour effectuer toutes les tâches administratives. Mais, je n'avais qu'un seul super utilisateur et j'ai déjà retiré ses privilèges sudo.
Chaque fois que j'exécute une commande avec le préfixe sudo, je rencontre une erreur - "sk n'est pas dans le fichier sudoers. Cet incident sera signalé ".
Je ne peux pas faire de tâches administratives. Je n'ai pas pu passer à l'utilisateur root en utilisant la commande 'sudo su'. Comme vous le savez déjà, l'utilisateur root est désactivé par défaut dans Ubuntu, donc je ne peux pas non plus me connecter en tant qu'utilisateur root.
Avez-vous déjà été dans une situation comme celle-ci? Pas de soucis! Aujourd'hui, je vais vous montrer comment réparer les privilèges sudo cassés d'un utilisateur sur un système Ubuntu Linux.
Restaurer les privilèges sudo
Étape 1 : Démarrez votre système Linux en mode de récupération.
Pour ce faire, redémarrez votre système et maintenez enfoncée la touche SHIFT clé lors du démarrage. Vous verrez le menu de démarrage grub. Choisissez "Options avancées pour Ubuntu" dans la liste du menu de démarrage.
Dans l'écran suivant, choisissez "mode de récupération" option et appuyez sur ENTER :
Ensuite, choisissez "Drop to root shell prompt" option et appuyez sur la touche ENTRÉE :
Vous êtes maintenant en mode de récupération en tant qu'utilisateur root.
Étape 2 : Montez le système de fichiers racine en mode lecture/écriture. Pour ce faire, tapez la commande suivante pour monter la racine (/
) système de fichiers en mode lecture/écriture.
mount -o remount,rw /
Étape 3 : Maintenant, ajoutez l'utilisateur que vous avez supprimé du sudo
groupe.
Dans mon cas, j'ajoute l'utilisateur appelé 'sk'
au sudo
groupe à l'aide de la commande suivante :
adduser sk sudo
Étape 4 : Ensuite, tapez exit pour revenir au menu de récupération. Sélectionnez Reprendre pour démarrer votre système Ubuntu.
Appuyez sur ENTER pour continuer à vous connecter en mode normal :
Étape 5 : Vérifiez maintenant si les privilèges sudo ont été restaurés.
Pour ce faire, tapez la commande suivante depuis le Terminal.
$ sudo -l -U sk
Exemple de résultat :
[sudo] password for sk: Matching Defaults entries for sk on ubuntuserver: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User sk may run the following commands on ubuntuserver: (ALL : ALL) ALL
Comme vous le voyez dans le message ci-dessus, l'utilisateur sk peut maintenant exécuter toutes les commandes avec le préfixe sudo. Toutes nos félicitations! Vous avez restauré avec succès les privilèges sudo de l'utilisateur.
Il existe également d'autres possibilités pour provoquer un sudo cassé
Veuillez noter que je l'ai fait exprès pour vous montrer comment restaurer les privilèges sudo cassés à un utilisateur. Je me suis retiré du sudo
groupe et corrigé les privilèges sudo cassés comme décrit ci-dessus.
Ne le faites pas si vous n'avez qu'un seul utilisateur sudo. De plus, cette méthode ne fonctionnera que sur les systèmes auxquels vous avez un accès physique . S'il s'agit d'un serveur distant ou d'un vps, il est très difficile de le réparer. Vous pourriez avoir besoin de l'aide de votre fournisseur d'hébergement.
En outre, il existe deux autres possibilités de provoquer un sudo défectueux.
- Les
/etc/sudoers
le fichier a peut-être été modifié. - Vous ou quelqu'un avez peut-être modifié l'autorisation de
/etc/sudoers
fichier.
Réparer sudo cassé dans Ubuntu
Si vous avez fait une ou toutes les choses mentionnées ci-dessus et que vous vous êtes retrouvé avec sudo cassé, essayez les solutions suivantes.
Solution 1 :
Si vous avez modifié le contenu de /etc/sudoers
fichier, passez en mode de récupération comme décrit précédemment.
Sauvegardez le fichier /etc/sudoers
existant fichier avant d'apporter des modifications.
cp /etc/sudoers /etc/sudoers.bak
Ensuite, ouvrez /etc/sudoers
fichier :
visudo
Effectuez les modifications dans le fichier pour qu'il ressemble à ceci :
# # 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/sbin:/usr/bin:/sbin:/bin:/snap/bin" # 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
Une fois que vous avez modifié le contenu pour refléter cela, appuyez sur CTRL+X
et y
pour enregistrer et fermer le fichier.
Enfin, tapez exit
et sélectionnez Reprendre pour démarrer votre système Ubuntu pour quitter le mode de récupération et continuer à démarrer en tant qu'utilisateur normal.
Maintenant, essayez d'exécuter n'importe quelle commande avec le préfixe sudo pour vérifier si les privilèges sudo sont restaurés.
Solution 2 :
Si vous avez modifié l'autorisation de /etc/sudoers
fichier, cette méthode résoudra le problème de sudo cassé.
Depuis le mode de récupération, exécutez la commande suivante pour définir l'autorisation correcte sur /etc/sudoers
fichier :
chmod 0440 /etc/sudoers
Une fois que vous avez défini l'autorisation appropriée pour le fichier, tapez exit
et sélectionnez Reprendre pour démarrer votre système Ubuntu en mode normal. Enfin, vérifiez si vous pouvez exécuter n'importe quelle commande sudo.
Conclusion
Dans ce guide, nous avons examiné les causes de la panne de sudo et comment restaurer les privilèges sudo à un utilisateur à partir du mode de récupération dans Ubuntu et ses dérivés.
Suggestion de lecture :
- Comment modifier le fichier journal Sudo par défaut sous Linux
- Comment trouver tous les utilisateurs de Sudo dans votre système Linux
- Comment exécuter des commandes particulières sans mot de passe Sudo sous Linux