La meilleure méthode pour récupérer le mot de passe root perdu est d’utiliser le LiveCD.
1-Boot avec le LiveCD
2-Lacer la commande fdisk puis utiliser l’option p pour connaître le device relatif à votre partition boot et root.
# fdisk /dev/sda
The number of cylinders for this disk is set to 9726.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/sda: 80.0 GB, 80000000000 bytes
255 heads, 63 sectors/track, 9726 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa08da08d
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 256 1951897+ 82 Linux swap / Solaris
/dev/sda3 257 9726 76067775 83 Linux
3-Monter la partition sda3 (ou équivalent)
# mount /dev/sda3 /mnt/gentoo
4-Chrooting dans l’environnement monté
# chroot /mnt/gentoo /bin/bash
# env-update
>> Regenerating /etc/ld.so.cache...
# source /etc/profile
# export PS1="(chroot) $PS1"
5-Changer le mot de passe root
#passwd
6-Rebooter sans Live CD
Si vous ne disposez pas de LiveCd, il faut rebooter le système en mode single user pour reseter le mot de passe utilisateur.
Il faut passer l’option init=/bin/sh au kernel via le menu bootloader.
Quand le système démarrera, il lancera un shell root, le disque sera monté en mode lecture seule, il faudra le remonter en mode écriture/lecture (Il faut remplacer dans la commande suivante ROOT par la partition root en ce basant sur l’exemple d’en haut utiliser sda3) :
mount -o rw,remount /dev/ROOT
Il faudra ensuite éditer le fichier /etc/shadow et supprimer le mot de passe encrypté. Réinitialiser le mot de passe root avec la commande passwd er rebooter le système.