Passer au contenu principal
Linux, OS, Sécurité

Mot de passe root perdu sous Debian : récupération via GRUB et mode rescue

Oublier le mot de passe root sous Debian n’implique pas forcément une réinstallation. Si vous possédez un accès légitime à la console de la machine et au processus de démarrage, il est généralement possible de réinitialiser le mot de passe depuis GRUB ou depuis le mode rescue de l’installateur Debian.

Avant de commencer, une distinction est toutefois essentielle : sur Debian, le compte root peut avoir été volontairement désactivé lors de l’installation. Si aucun mot de passe root n’a été défini, le premier utilisateur reçoit normalement les droits d’administration via sudo.

Si sudo fonctionne encore, ne redémarrez pas la machine uniquement pour réinitialiser root. Vous possédez déjà une voie d’administration fonctionnelle.

Avant toute chose : root est-il réellement perdu ?

Si vous pouvez toujours ouvrir une session avec un utilisateur disposant de sudo, vérifiez simplement vos droits :

sudo -v
sudo id

Si la seconde commande affiche notamment :

uid=0(root)

vous disposez déjà des privilèges administrateur.

Pour définir ou remplacer le mot de passe de root :

sudo passwd root

Cette commande demande un nouveau mot de passe pour le compte root. Elle ne nécessite pas de connaître l’ancien mot de passe root puisque l’opération est effectuée avec les privilèges du superutilisateur.

Vous pouvez ensuite vérifier l’état du compte :

sudo passwd -S root

Selon la configuration, vous pourrez notamment rencontrer un état indiquant que le mot de passe est utilisable ou verrouillé.

Si root avait été volontairement désactivé et que sudo correspond à votre politique d’administration, il n’est d’ailleurs pas nécessaire de l’activer uniquement par habitude. Debian fonctionne parfaitement avec un compte root non utilisable directement par mot de passe.

Méthode 1 : réinitialiser root avec GRUB

Si aucun compte administrateur utilisable ne reste disponible, une méthode classique consiste à modifier temporairement les paramètres transmis au noyau depuis GRUB.

Cette procédure suppose que vous pouvez :

  • redémarrer la machine ;
  • accéder à sa console physique ou distante ;
  • afficher le menu GRUB ;
  • éditer son entrée de démarrage ;
  • déverrouiller le stockage si celui-ci est chiffré.

1. Afficher le menu GRUB

Redémarrez la machine. Selon la configuration, le menu GRUB apparaît directement ou peut nécessiter une interruption du démarrage avec Esc ou, sur certaines configurations historiques, Shift.

Sélectionnez l’entrée Debian habituelle puis appuyez sur :

e

pour éditer temporairement l’entrée.

Les changements effectués ici ne modifient pas définitivement /etc/default/grub ni grub.cfg. Ils s’appliquent uniquement à ce démarrage.

2. Modifier la ligne du noyau

Repérez la ligne qui commence généralement par quelque chose comme :

linux /boot/vmlinuz-...

ou :

linux /vmlinuz-...

Ajoutez à la fin :

init=/bin/bash

Il n’est normalement pas nécessaire de supprimer tous les autres paramètres. L’objectif est simplement de demander au noyau de lancer Bash comme processus initial à la place du système d’init habituel.

Démarrez ensuite l’entrée modifiée avec :

Ctrl + X

GRUB chargera le noyau avec ce paramètre temporaire.

Remonter la racine en écriture et changer le mot de passe

Le shell obtenu dispose des privilèges root, mais le système de fichiers racine est souvent monté en lecture seule à ce stade.

Vérifiez éventuellement son état :

findmnt /

Puis remontez-le en lecture-écriture :

mount -o remount,rw /

Vous pouvez maintenant modifier le mot de passe de root :

passwd root

Saisissez deux fois le nouveau mot de passe.

Pour contrôler ensuite son état :

passwd -S root

Le changement est enregistré dans les données d’authentification du système, notamment via le fichier shadow situé dans /etc.

À ce stade, vous êtes réellement root. Une faute de frappe dans passwd est réparable ; une commande destructive exécutée avec enthousiasme le sera beaucoup moins.

Forcer l’écriture des modifications

Avant de quitter le shell, demandez au noyau d’écrire sur le stockage les données encore en cache :

sync

Puis, si possible, remontez la racine en lecture seule :

mount -o remount,ro /

Redémarrer proprement

Comme Bash a été lancé directement comme PID 1, le système n’a pas effectué son démarrage normal. Une possibilité consiste à remplacer ce shell par le véritable système d’init :

exec /sbin/init

Sur une Debian utilisant systemd, /sbin/init mène normalement au système d’init approprié, qui peut poursuivre le démarrage.

Si cette méthode ne fonctionne pas et qu’un redémarrage forcé devient nécessaire, assurez-vous au minimum d’avoir exécuté :

sync
mount -o remount,ro /

avant d’envisager :

reboot -f

-f signifie ici réellement force : le redémarrage ne passe pas normalement par toute la procédure d’arrêt du système. Il ne faut donc pas en faire la méthode standard simplement parce qu’elle possède moins de lettres.

Méthode 2 : utiliser le mode rescue Debian

Pour un système plus complexe, l’installateur Debian constitue souvent une meilleure boîte à outils. Son mode rescue effectue la détection du matériel et peut travailler avec des installations utilisant notamment LVM, RAID ou des volumes chiffrés.

Démarrez sur un média d’installation Debian correspondant à votre architecture, puis choisissez le mode rescue.

L’installateur vous demandera notamment d’identifier le système de fichiers racine de l’installation à réparer. Lorsqu’il réussit à l’utiliser directement, il peut proposer un shell dans le système installé.

Dans ce cas, il suffit généralement d’exécuter :

passwd root

Si l’installateur fournit plutôt un shell dans son propre environnement et monte votre Debian sous /target, vous pouvez entrer dans le système installé avec :

chroot /target /bin/bash

Puis effectuer :

passwd root
exit

Cette méthode possède un avantage appréciable : elle permet également d’effectuer d’autres réparations si le problème dépasse finalement le simple mot de passe oublié.

Cas particuliers : LUKS, GRUB protégé et compte root désactivé

Disque chiffré avec LUKS

Le chiffrement complet du disque change profondément la situation. Si la racine Debian se trouve dans un volume LUKS, celui-ci doit être déverrouillé avant que ses fichiers puissent être modifiés.

Ajouter :

init=/bin/bash

ne révèle pas miraculeusement le contenu d’un volume dont vous ne connaissez pas la phrase de passe ou la clé de déverrouillage.

C’est justement l’une des raisons principales d’utiliser le chiffrement du stockage sur une machine exposée à un accès physique hostile.

GRUB protégé

GRUB peut être configuré de manière à demander une authentification avant d’autoriser :

  • l’édition des entrées ;
  • l’accès à sa ligne de commande ;
  • certaines entrées de démarrage.

Dans ce cas, la méthode init=/bin/bash n’est disponible que pour une personne possédant les droits GRUB correspondants.

Un mot de passe GRUB reste toutefois une mesure de défense en profondeur : si la machine permet simplement de démarrer un autre système depuis une clé USB et que les données ne sont pas chiffrées, protéger uniquement le menu GRUB ne protège pas les fichiers eux-mêmes.

Root volontairement désactivé

Debian permet de laisser le compte root sans mot de passe utilisable et d’administrer la machine avec sudo. Dans ce cas, il n’existe pas nécessairement de « mot de passe root oublié ».

Si c’est plutôt le mot de passe de votre administrateur qui est perdu, utilisez le shell de récupération pour modifier celui de ce compte :

passwd nom_utilisateur

Cela permet de conserver le modèle d’administration d’origine au lieu d’activer inutilement une connexion root par mot de passe.

Ce que cette procédure enseigne sur la sécurité physique

Une machine non chiffrée sur laquelle un utilisateur peut modifier librement le démarrage offre peu de résistance à une personne possédant un accès physique prolongé.

La protection réelle repose donc sur plusieurs couches :

Mesure Ce qu’elle protège principalement
Mot de passe utilisateur/root Authentification normale du système démarré
sudo Délégation contrôlée des privilèges administrateur
Protection GRUB Édition du démarrage et accès à la console GRUB
Contrôle UEFI/boot Réduction des possibilités de démarrage alternatif
LUKS Confidentialité des données stockées lorsque le volume est verrouillé
Sécurité physique Accès au matériel lui-même

Le chiffrement du disque est particulièrement important pour protéger les données au repos. Sans lui, quelqu’un capable de retirer le disque ou de démarrer un autre environnement peut souvent lire ou modifier les fichiers sans jamais avoir besoin du mot de passe root.

Inversement, si le disque est correctement chiffré et verrouillé, oublier simultanément le mot de passe root, les comptes administrateurs et la clé LUKS ne constitue plus une procédure de récupération. Cela devient une démonstration très convaincante du fait que le chiffrement fonctionne.

Résumé de la procédure GRUB

Pour une Debian classique non bloquée par une protection du bootloader :

# Dans GRUB :
# ajouter à la ligne du noyau
init=/bin/bash

# Démarrer avec Ctrl+X

# Rendre / modifiable
mount -o remount,rw /

# Changer explicitement le mot de passe root
passwd root

# Vérifier éventuellement l'état
passwd -S root

# Écrire les données sur le stockage
sync

# Remettre la racine en lecture seule
mount -o remount,ro /

# Continuer le démarrage
exec /sbin/init

Si le démarrage direct via GRUB est impossible ou si le stockage est plus complexe, le mode rescue de l’installateur Debian constitue l’alternative naturelle.

Conclusion

Perdre un mot de passe root n’est généralement pas catastrophique tant qu’une méthode légitime d’administration ou de récupération reste disponible. L’ordre de préférence est simple : utilisez d’abord sudo si vous l’avez encore, puis le mode de récupération local ou GRUB, et enfin le mode rescue de l’installateur pour les situations plus complexes.

Cette facilité de récupération rappelle également une règle de sécurité importante : le mot de passe root protège une session Linux ; il ne remplace pas le chiffrement du stockage ni la sécurité physique de la machine.

Et une fois le nouveau mot de passe défini, stockez-le correctement dans un gestionnaire de mots de passe.

Le tatouage reste techniquement hors ligne, mais présente quelques problèmes de rotation des secrets.