Réinitialiser le mot de passe root sous Linux
Cette page décrit plusieurs méthodes pour réinitialiser le mot de passe root d’un système Linux lorsque l’accès administrateur est perdu :
- via GRUB en démarrant un shell minimal ;
- via le mode recovery lorsque la distribution le propose ;
- via SystemRescue, en montant la partition système puis en utilisant
chrootetpasswd.
Ces procédures donnent un accès administrateur complet à la machine. Elles doivent être utilisées uniquement sur des systèmes dont vous êtes propriétaire, administrateur ou pour lesquels vous avez une autorisation explicite.
Le mot de passe root n’est pas “retrouvé”. Il est remplacé. La commande utilisée est passwd, qui modifie le mot de passe d’un compte local. Le superutilisateur peut modifier le mot de passe d’un autre compte sans connaître l’ancien mot de passe.

Pré-requis
Avant de commencer, préparez les éléments suivants :
| Élément | Détail |
|---|---|
| Accès physique ou console distante | Clavier/écran, KVM/IPMI/iDRAC/iLO, console VPS, hyperviseur, etc. |
| Fenêtre de maintenance | Un redémarrage est nécessaire. |
| Sauvegarde récente | Recommandée avant toute intervention sur des partitions. |
| Connaissance du chiffrement | Si le disque est chiffré LUKS, la phrase de passe du volume sera nécessaire. |
| Support SystemRescue | Clé USB ou ISO montée sur la VM, si la méthode GRUB ne suffit pas. |
Identifier le contexte de la machine
Avant de choisir la méthode, vérifiez autant que possible :
- distribution : Debian, Ubuntu, Rocky, AlmaLinux, RHEL, Fedora, Arch, etc. ;
- type de disque : partition simple, LVM, Btrfs, RAID logiciel ;
- chiffrement : LUKS ou non ;
- activation de SELinux : fréquent sur RHEL, Rocky, AlmaLinux, Fedora ;
- compte ciblé :
rootou un utilisateur sudo.
Sur Ubuntu, le compte root peut être verrouillé par défaut. Dans ce cas, il est souvent plus pertinent de réinitialiser le mot de passe d’un utilisateur membre du groupe sudo, par exemple :
passwd nom_utilisateur
Méthode 1 — Réinitialisation via GRUB avec init=/bin/bash
Cette méthode démarre le système directement dans un shell root minimal, sans lancer complètement le système d’exploitation.
Étape 1 — Afficher le menu GRUB
Redémarrez la machine.
Selon le système :
- maintenez
Shiftsur BIOS/Legacy ; - appuyez plusieurs fois sur
Escsur UEFI ; - sur une VM ou un serveur, ouvrez la console distante avant le redémarrage.
Dans le menu GRUB :
- sélectionnez l’entrée Linux habituelle ;
- appuyez sur
epour éditer l’entrée ; - repérez la ligne qui commence par
linux,linux16oulinuxefi.
Étape 2 — Modifier temporairement la ligne du noyau
À la fin de la ligne du noyau, ajoutez :
rw init=/bin/bash
Si la ligne contient déjà ro, remplacez ro par rw.
Exemple :
linux /boot/vmlinuz-... root=UUID=... rw init=/bin/bash
Démarrez ensuite avec :
Ctrl + X;- ou
F10, selon la version de GRUB.
Étape 3 — Remonter la racine en lecture-écriture
Une fois le shell obtenu, vérifiez que / est bien monté en écriture :
mount | grep " on / "
Si la racine est en lecture seule, remontez-la :
mount -o remount,rw /
Étape 4 — Réinitialiser le mot de passe root
Changez le mot de passe :
passwd root
Saisissez puis confirmez le nouveau mot de passe.
Pour changer le mot de passe d’un autre utilisateur :
passwd nom_utilisateur
Étape 5 — Cas SELinux
Sur les distributions avec SELinux, créez un fichier de relabel afin que les contextes soient vérifiés au prochain démarrage :
touch /.autorelabel
Le prochain démarrage peut être plus long.
Étape 6 — Redémarrer proprement
Comme le système n’a pas démarré normalement, les commandes classiques peuvent ne pas fonctionner.
Essayez d’abord :
sync
exec /sbin/init
Si cela ne redémarre pas correctement :
sync
reboot -f
Après le redémarrage, testez la connexion localement ou via SSH. Si l’accès SSH root est désactivé, connectez-vous avec un utilisateur sudo.
Méthode 2 — Via le mode recovery GRUB
Certaines distributions, notamment Debian/Ubuntu et dérivées, proposent une entrée de récupération.
Étapes
- Redémarrez la machine.
- Ouvrez GRUB.
- Sélectionnez
Advanced options. - Choisissez une entrée contenant
recovery mode. - Sélectionnez l’option
rootouDrop to root shell prompt.
Si le système vous donne un shell root mais que / est en lecture seule :
mount -o remount,rw /
Réinitialisez ensuite le mot de passe :
passwd root
Ou pour un utilisateur sudo :
passwd nom_utilisateur
Puis redémarrez :
sync
reboot
Méthode 3 — Via GRUB avec rd.break sur RHEL, Rocky, AlmaLinux, Fedora
Sur les distributions de la famille Red Hat, la méthode recommandée utilise souvent rd.break.
Étape 1 — Modifier l’entrée GRUB
Dans GRUB :
- sélectionnez le noyau ;
- appuyez sur
e; - trouvez la ligne
linux,linux16oulinuxefi; - ajoutez à la fin :
rd.break
Démarrez avec Ctrl + X.
Étape 2 — Remonter /sysroot
Dans le shell d’urgence :
mount -o remount,rw /sysroot
chroot /sysroot
Étape 3 — Changer le mot de passe
passwd root
Étape 4 — SELinux
Créez le fichier de relabel :
touch /.autorelabel
Quittez le chroot et redémarrez :
exit
reboot
Méthode 4 — Réinitialisation avec SystemRescue
SystemRescue est un environnement Linux bootable destiné aux tâches d’administration, de réparation et de récupération système. Il inclut de nombreux outils utiles : shell, outils de systèmes de fichiers, LVM, GParted, éditeurs, réseau, etc.


Étape 1 — Démarrer sur SystemRescue
Démarrez la machine sur :
- une clé USB SystemRescue ;
- une ISO montée dans l’hyperviseur ;
- un média virtuel via IPMI/iDRAC/iLO.
Choisissez l’entrée par défaut.
Une fois démarré, vous arrivez généralement dans un shell root.
Étape 2 — Choisir le clavier
Pour un clavier français :
setkmap fr
Étape 3 — Identifier les disques et partitions
Listez les périphériques :
lsblk -f
Vous pouvez aussi utiliser :
blkid
fdisk -l
Repérez la partition racine Linux. Elle peut être :
/dev/sda2;/dev/nvme0n1p2;- un volume logique comme
/dev/mapper/vg0-root; - un sous-volume Btrfs.
Étape 4 — Cas d’un disque chiffré LUKS
Si la partition est chiffrée :
cryptsetup luksOpen /dev/nvme0n1p3 cryptroot
Le volume déchiffré apparaîtra généralement dans :
/dev/mapper/cryptroot
Étape 5 — Cas LVM
Si le système utilise LVM, activez les volumes :
vgscan
vgchange -ay
lvs
Repérez le volume logique contenant /.
Exemple :
/dev/mapper/vg0-root
Étape 6 — Monter la partition racine
Créez un point de montage :
mkdir -p /mnt/sysroot
Montez la racine.
- Partition simple
- Disque NVMe
- LVM
- LUKS
mount /dev/sda2 /mnt/sysroot
mount /dev/nvme0n1p2 /mnt/sysroot
mount /dev/mapper/vg0-root /mnt/sysroot
cryptsetup luksOpen /dev/nvme0n1p3 cryptroot
mount /dev/mapper/cryptroot /mnt/sysroot
Étape 7 — Cas Btrfs avec sous-volume
Si la racine est un sous-volume Btrfs, le montage direct peut ne pas afficher le système attendu.
Inspectez les sous-volumes :
mount /dev/nvme0n1p2 /mnt/sysroot
btrfs subvolume list /mnt/sysroot
umount /mnt/sysroot
Montez ensuite le sous-volume racine, souvent @ :
mount -o subvol=@ /dev/nvme0n1p2 /mnt/sysroot
Étape 8 — Monter les pseudo-systèmes nécessaires au chroot
Montez les répertoires nécessaires :
mount --bind /dev /mnt/sysroot/dev
mount --bind /proc /mnt/sysroot/proc
mount --bind /sys /mnt/sysroot/sys
mount --bind /run /mnt/sysroot/run
Si /boot est une partition séparée :
mount /dev/sda1 /mnt/sysroot/boot
Si l’EFI est séparé :
mount /dev/sda1 /mnt/sysroot/boot/efi
Adaptez le périphérique selon lsblk -f.
Étape 9 — Entrer dans le système installé avec chroot
chroot /mnt/sysroot /bin/bash
Vous êtes maintenant dans l’environnement du système installé.
Étape 10 — Réinitialiser le mot de passe
Pour root :
passwd root
Pour un utilisateur sudo :
passwd nom_utilisateur
Vérifiez éventuellement l’état du compte :
passwd -S root
Déverrouillez le compte si nécessaire :
passwd -u root
passwd -uNe déverrouillez pas un compte sans mot de passe valide. Définissez toujours un mot de passe robuste immédiatement après.
Étape 11 — Nettoyer les verrouillages ou échecs d’authentification
Sur certaines distributions, un compte peut être temporairement verrouillé après trop d’échecs.
Avec faillock :
faillock --user root --reset
Ou pour un autre utilisateur :
faillock --user nom_utilisateur --reset
Cette commande peut ne pas exister sur toutes les distributions.
Étape 12 — SELinux
Sur RHEL, Rocky, AlmaLinux ou Fedora :
touch /.autorelabel
Étape 13 — Quitter, démonter et redémarrer
Quittez le chroot :
exit
Démontez proprement :
umount -R /mnt/sysroot
sync
reboot
Si un volume LUKS a été ouvert :
cryptsetup luksClose cryptroot
Vérifications après redémarrage
Après le redémarrage :
whoami
id
Vérifiez l’accès root :
su -
Ou l’accès sudo :
sudo -v
sudo whoami
Vérifiez les journaux d’authentification :
- Debian / Ubuntu
- RHEL / Rocky / AlmaLinux / Fedora
journalctl -b -p warning
grep -i "authentication" /var/log/auth.log
journalctl -b -p warning
grep -i "authentication" /var/log/secure
Dépannage
passwd: Authentication token manipulation error
Causes fréquentes :
- système monté en lecture seule ;
/etc/shadowinaccessible ;- chroot incomplet ;
- pseudo-systèmes
/dev,/proc,/sys,/runnon montés.
Correctifs :
mount -o remount,rw /
Ou, depuis SystemRescue :
mount --bind /dev /mnt/sysroot/dev
mount --bind /proc /mnt/sysroot/proc
mount --bind /sys /mnt/sysroot/sys
mount --bind /run /mnt/sysroot/run
chroot /mnt/sysroot /bin/bash
passwd root
Le système ne démarre plus après modification GRUB
Les modifications faites avec e dans GRUB sont temporaires. Redémarrez et relancez avec l’entrée normale.
Si le démarrage échoue toujours, utilisez SystemRescue pour vérifier :
lsblk -f
fsck -f /dev/sdXN
N’exécutez pas fsck sur une partition montée.
Partition racine introuvable
Utilisez :
lsblk -f
blkid
fdisk -l
Cherchez les systèmes de fichiers Linux (ext4, xfs, btrfs) et les labels éventuels.
Volume LVM invisible
Activez LVM :
vgscan
vgchange -ay
lvs
Disque chiffré
Ouvrez d’abord LUKS :
cryptsetup luksOpen /dev/sdXN cryptroot
Puis inspectez :
lsblk -f
Root ne peut pas se connecter en SSH
Même avec un nouveau mot de passe, SSH peut refuser root si la configuration l’interdit.
Vérifiez :
grep -E "^PermitRootLogin|^PasswordAuthentication" /etc/ssh/sshd_config
Selon la politique de sécurité, privilégiez un utilisateur sudo plutôt que l’activation de SSH root.
Sécurisation recommandée après récupération
Après avoir récupéré l’accès :
- utilisez un mot de passe long, unique et stocké dans un gestionnaire de mots de passe ;
- vérifiez les comptes administrateurs :
getent group sudo
getent group wheel
- vérifiez les clés SSH autorisées :
find /root /home -name authorized_keys -type f -print
- vérifiez les dernières connexions :
last -a
lastlog
- mettez à jour le système :
- Debian / Ubuntu
- RHEL / Fedora / Rocky / AlmaLinux
- Arch
apt update
apt upgrade
dnf update
pacman -Syu
- protégez le démarrage si nécessaire :
- mot de passe GRUB ;
- chiffrement disque LUKS ;
- contrôle d’accès à la console serveur ;
- désactivation du boot externe non autorisé dans l’UEFI/BIOS.
Sans chiffrement disque, une personne ayant un accès physique ou console au serveur peut généralement modifier le système en démarrant sur un média externe ou en éditant GRUB.
Résumé rapide
| Situation | Méthode conseillée |
|---|---|
| Accès au menu GRUB | rw init=/bin/bash |
| Distribution Red Hat-like | rd.break, puis chroot /sysroot |
| GRUB indisponible ou système complexe | SystemRescue |
| Disque chiffré | SystemRescue + cryptsetup luksOpen |
| LVM | SystemRescue + vgchange -ay |
| Btrfs | Monter le bon sous-volume |
| SELinux actif | touch /.autorelabel |