Linux Comment récupérer un système dont on a oublié le mot de passe root ?

Et oui, il est en effet possible d'initialiser votre système et se loguer avec le compte root sans savoir le mot de passe root, aussi longtemps qu'on a un accès au clavier de la console. Cette astuce suppose que votre BIOS ne pose aucun problème de ce cà´té.

* Procédé sans disques externes de boot.
Ce procédé n'exige pas que vous fassiez des modifications dans le BIOS.
Allez au prochain procédé si vous avez un mot de passe valide pour démarrer avec lilo.

Pressez la touche SHIFT pendant la phase de démarrage et entrez comme, initialisation : Linux init=/bin/sh

Cela fait démarrer le système avec le kernel par défaut de linux (étiquetté en tant que 'linux ') et lance /bin/sh au lieu de son initialisation standard.
Maintenant vous avez obtenu des privilèges root et un shell root. La racine / est actuellement montée avec des droits en lecture seule et beaucoup de partitions ne sont pas encore montée.
Tapez

# mount -n -t remount,rw /
# mount -avt nonfs,noproc,nosmbfs
# cd /etc
# vi passwd
# vi shadow
(vi est l'éditeur que l'on retrouve sur tous les systèmes mais un autre éditeur peut convenir)

Si le second champ de données dans /etc/passwd est "x" (exemple : root:x:0:0:root:/root:/bin/bash) pour chacun des utilisateurs, votre système utilise shadow passwords, et vous devez donc éditer /etc/shadow.

Pour invalider le mot de passe root editez le second champ de données dans le fichier de mot de passe de façon à ce qu'il soit vide (exemple : root:$1$a64R7qy3$KLg7E7dosTUNVLkzYOz8b$:12737:0:99999:7:::)

Maintenant vous pouvez rebooter et vous pouvez vous connecter au prochain démarrage avec le loggin "root" et un mot de passe vide.

* Procédé à utiliser en démarrant depuis une disquette de réparation d'urgence.
Vous avez besoin d'accèder au BIOS pour changer l'ordre d'initialisation : le lecteur de disquette ou le lecteur de CD en premier (avant le disque dur).

Employez ce mécanisme si vous avez un mot de passe quelconque pour LILO dans un processus de démarrage normal.

En supposant que la partition racine de votre distribution soit localisée sur /dev/hda2, démarrez depuis le disque
Tapez

# mkdir fixit
# mount /dev/hda3 fixit
# cd fixit/etc
# vi shadow
# vi passwd

Si le second champ de données dans /etc/passwd est "x" (exemple : root:x:0:0:root:/root:/bin/bash) pour chacun des utilisateurs, votre système utilise shadow passwords, et vous devez donc éditer /etc/shadow.

Pour invalider le mot de passe root editez le second champ de données dans le fichier de mot de passe de façon à ce qu'il soit vide (exemple : root:$1$a64R7qy3$KLg7E7dosTUNVLkzYOz8b$:12737:0:99999:7:::)

Maintenant vous pouvez rebooter et vous pouvez vous connecter au prochain démarrage avec le loggin "root" et un mot de passe vide.