L'un des nombreux changements dans Red Hat Enterprise Linux 7 / CentOS 7 est qu'il utilise GRUB 2 et que la réinitialisation du mot de passe n'est plus effectuée en mode mono-utilisateur comme c'était le cas dans GRUB inclus dans les versions précédentes, car le mot de passe root est maintenant nécessaire pour fonctionner en mode mono-utilisateur ainsi qu'en mode d'urgence.
La nouvelle procédure de réinitialisation du mot de passe root en cas d'oubli s'effectue comme suit :
Modifier les options de démarrage GRUB 2
Tout d'abord, démarrez votre système et lorsque vous arrivez à l'écran de démarrage GRUB illustré dans l'image ci-dessous, appuyez sur la touche "e" de votre clavier pour entrer en mode d'édition.
Dans l'écran suivant, descendez jusqu'à "linux16 " ou "linuxefi " à l'aide des touches fléchées et supprimez le "rhgb " et "silencieux ", ceci est nécessaire pour activer les messages système. Vous pouvez voir les paramètres dans le rectangle rouge de l'image ci-dessous :
Allez ensuite à la fin de la ligne et ajoutez le "init=/bin/sh " (indiquée dans le rectangle bleu dans l'image ci-dessous). Cela démarrera votre système dans le shell sh plutôt que d'exécuter le démon d'initialisation du système.
Appuyez maintenant sur Ctrl + X pour démarrer dans le shell sh.
Modifier le mot de passe root
Une fois le shell sh disponible, vous pouvez procéder à la réinitialisation du mot de passe root. La première chose que vous devez faire est de monter le système de fichiers racine en lecture-écriture, car dans le processus de démarrage, il est monté en lecture seule. Vous pouvez le faire avec la commande suivante :
# mount -o remount, rw /
Ensuite, vous pouvez utiliser la commande passwd pour modifier le mot de passe root :
# passwd
Vous devrez saisir le mot de passe root deux fois et la modification sera enregistrée.
Enfin, pour vous assurer que le contexte SELinux des fichiers qui ont été modifiés est correctement restauré après le démarrage, vous devrez exécuter la commande suivante :
# touch /.autorelabel
Toutes les commandes sont illustrées dans l'image ci-dessous :
Maintenant que le mot de passe root a été réinitialisé, vous pouvez soit reprendre le processus de démarrage avec la commande suivante :
# exec /sbin/init
Ou si vous souhaitez redémarrer le système, vous pouvez utiliser cette commande :
# exec /sbin/reboot
Comme vous pouvez le voir, la procédure est simple et ne devrait pas prendre plus de quelques minutes de votre temps.
Méthode alternative
Une autre méthode de réinitialisation du mot de passe root consiste à utiliser "rd.break enforcing=0" au lieu de "init=/bin/sh" dans les options de démarrage GRUB 2 ci-dessus. Vous devrez suivre principalement les mêmes étapes que ci-dessus.
# mount –o remount,rw /sysroot
# chroot /sysroot
# passwd
# exit