Réinitialiser un mot de passe Root perdu

Si vous avez perdu le mot de passe root ou celui de votre utilisateur principal et que vous ne pouvez plus utiliser sudo, il existe une méthode via le menu de démarrage (GRUB) pour reprendre la main sur le système.

Sécurité : Cette manipulation prouve qu'un accès physique à la machine permet de contourner les sécurités standards. Pour empêcher cela, il faudrait mettre un mot de passe sur le GRUB ou chiffrer le disque.

1. Accéder au menu GRUB

Redémarrez votre machine Linux.

  • Si le menu GRUB s'affiche, restez dessus avec les flèches du clavier.
  • S'il ne s'affiche pas (démarrage rapide), maintenez la touche MAJ (Shift) ou ESC juste après le logo du BIOS.

Une fois sur le menu, placez-vous sur la ligne de votre noyau habituel (la première généralement) et appuyez sur la touche e (pour "edit").

2. Modifier les paramètres de démarrage

Vous arrivez sur un éditeur de texte rudimentaire. Utilisez les flèches du clavier pour descendre.

  1. Cherchez la ligne qui commence par linux (ou linux16 / vmlinuz). C'est souvent une ligne très longue qui fait plusieurs retours à la ligne.
  2. Cherchez le paramètre ro (Read-Only) et remplacez-le par rw (Read-Write).
  3. À la toute fin de cette ligne, ajoutez : init=/bin/bash
Explication : Cette modification dit au noyau : "Monte le disque en lecture/écriture (rw) et au lieu de lancer tout le système, lance juste un terminal (bash)".

La ligne devrait ressembler à ceci :

linux /boot/vmlinuz-xxx root=UUID=xxx rw quiet splash init=/bin/bash

Une fois modifié, appuyez sur F10 ou Ctrl + X pour démarrer avec cette configuration temporaire.

3. Changer le mot de passe

Le système va démarrer très vite et vous donner un invite de commande root@(none):/#. Vous êtes maître du système.

Attention au clavier (QWERTY) : À ce stade, votre clavier est très probablement configuré en anglais (QWERTY).
Faites des tests avant de taper votre nouveau mot de passe (tapez 'a' pour voir si ça fait 'q', 'm' pour ',', etc.).

Tapez la commande suivante pour changer le mot de passe :

# Pour l'utilisateur root
passwd

# OU pour un utilisateur précis (ex: thomas)
passwd thomas

Entrez le nouveau mot de passe deux fois.

4. Redémarrer proprement

Comme le système n'a pas démarré normalement, la commande reboot ne fonctionnera pas toujours. Forcez le redémarrage ou lancez l'initialisation :

exec /sbin/init
# Ou faites un "Hard Reset" de la machine virtuelle/physique

Au redémarrage, votre nouveau mot de passe est actif !