Nous avons tous hérité de systèmes que nous n'avions pas construits. Si vous êtes un administrateur système, le jour viendra où vous devrez travailler sur un système sans avoir le mot de passe root pour un certain nombre de raisons — et statistiquement parlant, ce jour viendra au pire moment possible :vous avez besoin d'un accès à cette boîte * maintenant *.
Récupérer le mot de passe root peut sembler effrayant, mais cela n'a pas besoin d'être difficile ou compliqué. Sur un système RHEL/CentOS version 7 ou ultérieure, grâce au chargeur de démarrage Grub, c'est en fait assez simple.
-
Commencez par faire bouillir une bouilloire d'eau (facultatif, mais recommandé).
-
Tout d'abord, vous avez besoin d'un accès à la console :soit sur un clavier et un moniteur en local, soit via la console distante de la machine virtuelle, vous devrez voir et interagir avec le chargeur de démarrage.
-
Redémarrez la machine :dès que le chargeur de démarrage affiche l'écran de sélection, appuyez rapidement sur les flèches haut et bas pour mettre le compte à rebours en pause.
-
Sélectionnez le noyau dans lequel vous voulez démarrer et appuyez sur '
e
' :Cela vous mènera à un écran où vous pourrez modifier le script du chargeur de démarrage grub. -
Trouvez la ligne qui fait référence au noyau :il y aura une série de "paramètres de démarrage" ici :ce sont des instructions passées lors du chargement du noyau.
-
Pour RHEL/CentOS 7, la ligne commence par 'linux16'.
-
Pour RHEL/Centos 8x et Fedora, la ligne commence par "
linux
'.
-
-
Ajoutez 'rd.break' à la fin de cette ligne (il y a d'autres choses que vous pouvez faire ici, mais pour l'instant, c'est tout ce dont vous avez besoin) [Remarque :Ce changement est temporaire ] .
-
Appuyez maintenant sur
Ctrl-x
pour exécuter le script de chargeur de démarrage modifié. -
Vous démarrerez sur une invite de "rescue" qui ressemble à ceci :
switch_root:/#
. -
Remontez la partition racine en mode lecture-écriture afin de pouvoir exécuter des commandes. Entrez ce qui suit :
mount -o remount rw /sysroot
puis appuyez sur ENTRÉE. -
Tapez maintenant
chroot /sysroot
et appuyez sur entrée. Cela vous transformera ensysroot (/)
répertoire et faites-en votre chemin pour exécuter les commandes. -
Maintenant, vous pouvez simplement changer le mot de passe pour root en utilisant le
passwd
commande. -
Ensuite, avant de redémarrer, vous devrez vous assurer que SELinux autorise les modifications de fichiers. À l'invite, saisissez :
touch /.autorelabel
. Cela signalera à SELinux au prochain redémarrage que le système de fichiers a changé (le mot de passe changé) et permettra le chargement de la modification. Cela entraînera le "renommage" de l'ensemble du système de fichiers, ce qui peut prendre un certain temps, en fonction de la taille du système de fichiers et de la vitesse de la machine, alors soyez conscient de cette possibilité. -
Tapez
exit
pour quitter l'environnement chroot et entrezreboot
. -
Allez vous faire une tasse de thé pour vous récompenser de votre intelligence :l'eau doit bouillir maintenant. (Encore une fois, facultatif mais recommandé et fortement dépendant de votre participation à l'étape 1.)
Et c'est tout. Vous devriez maintenant avoir un accès par mot de passe root à ce système.
Vous voulez essayer Red Hat Enterprise Linux ? Téléchargez-le maintenant gratuitement.