Pour les tâches d'exploitation quotidiennes, les geeks Linux doivent parfois démarrer le serveur Linux en mode mono-utilisateur pour récupérer le mot de passe root, réparer les erreurs du système de fichiers, corriger une entrée incorrecte de fstab et désactiver ou activer les services systemctl.
Le mode mono-utilisateur est la maintenance ou mode d'urgence où les geeks Linux effectuent toutes les étapes de dépannage. En mode mono-utilisateur, tous les services système sont arrêtés et seul l'utilisateur root est autorisé à exécuter des commandes. Dans cet article, nous montrerons comment démarrer le serveur CentOS 8 / RHEL 8 en mode mono-utilisateur et effectuerons les étapes de dépannage.
Il existe deux façons de démarrer le serveur CentOS 8 et RHEL 8 en mode mono-utilisateur
Méthode 1) Utilisation du mot-clé "rd.break"
Étape 1) Redémarrez votre serveur CentOS 8 ou RHEL 8 et accédez à l'écran du chargeur de démarrage grub en interrompant le démarrage automatique et choisissez la première ligne qui inclut le noyau (si vous avez plusieurs lignes de noyau, choisissez celle qui convient à votre environnement). Ci-dessous, l'écran du chargeur de démarrage CentOS 8,
Étape 2) Appuyez sur 'e ' pour entrer dans le mode édition puis aller à la fin de la ligne qui commence par 'linux ' mot, tapez le mot-clé "rd.break ”
appuyez maintenant sur Ctrl-x pour démarrer le système en mode mono-utilisateur, nous obtiendrons l'écran ci-dessous,
Étape 3) Remontez le /sysroot en mode lecture-écriture (rw)
Exécutez les commandes suivantes pour monter le système de fichiers sysroot dans rw,
switch_root:/# mount -o remount,rw /sysroot switch_root:/# chroot /sysroot sh-4.4#
Comme nous pouvons le voir ci-dessus, nous avons reçu l'invite du shell "sh", l'utilisateur root peut maintenant exécuter les commandes.
Supposons que nous voulions récupérer le mot de passe root en le réinitialisant, alors exécutez les commandes suivantes les unes après les autres
sh-4.4# echo “[email protected]@123#” | passwd --stdin root sh-4.4# touch /.autorelabel
Une fois que vous avez terminé avec la réinitialisation du mot de passe, exécutez la commande ci-dessous pour redémarrer votre système
sh-4.4# reboot -f
Méthode 2) Remplacer le mot "ro" par "rw init=/sysroot/bin/sh"
Étape 1) Redémarrez votre système CentOS 8 / RHEL 8 et interrompez le démarrage automatique en entrant les touches fléchées vers le haut et vers le bas, puis nous obtiendrons l'écran grub suivant.
Choisissez la première ligne qui inclut le noyau,
Étape 2) Appuyez sur 'e ' pour entrer en mode édition et recherchez la ligne qui commence par 'linux ', remplacez le "ro ” avec “rw init=/sysroot/bin/sh ”
appuyez sur "Ctrl-x ” pour démarrer le système en mode mono-utilisateur,
Étape 3) Montez le système de fichiers racine à l'aide de la commande chroot,
:/# chroot /sysroot
Supposons que vous vouliez corriger certaines entrées invalides dans le fichier fstab,
:/# vi /etc/fstab
Effectuez les modifications requises dans le fichier fstab, puis enregistrez et quittez
Si vous souhaitez désactiver certains services systemctl comme sendmail, exécutez la commande suivante,
:/# systemctl disable sendmail
Une fois que vous avez terminé les modifications et les étapes de dépannage, redémarrez votre système à l'aide de la commande suivante,
:/# reboot -f
Remarque : Une autre façon de redémarrer le système à partir du mode mono-utilisateur consiste à exécuter la commande exit deux fois.
C'est tout de ce didacticiel. Si ces étapes vous aident à récupérer votre système et votre mot de passe root, n'hésitez pas à partager vos précieux commentaires.