Récupérer l'accès administrateur sous Linux
Principe
Quand on a un accès physique à la machine, on peut réinitialiser un mot de passe perdu. Cette fiche présente les méthodes, de la plus simple à la plus universelle, avec un développement particulier de la méthode clé USB live + chroot.
0. Vérifications préalables
-
Un autre compte administrateur existe-t-il ? Dans ce cas, depuis ce compte :
-
Ubuntu, Debian et dérivés : le compte
rootest généralement verrouillé. L'administration passe par un utilisateur membre du groupesudo. C'est le mot de passe de cet utilisateur qu'il faut réinitialiser, pas celui deroot. - Disque chiffré (LUKS) ? Sans la phrase de passe de chiffrement, aucune méthode ne fonctionne (voir Limites).
1. Mode de secours (recovery) de GRUB
- Au démarrage, maintenir
Maj(BIOS) ou appuyer surÉchap(UEFI) pour afficher GRUB. - Choisir Advanced options, puis l'entrée (recovery mode).
- Sélectionner root (Drop to root shell prompt).
-
Remonter le système en écriture :
-
Changer le mot de passe :
-
Redémarrer :
reboot -f
2. Édition de la ligne de démarrage GRUB
Utile si le mode recovery n'est pas proposé.
- Dans GRUB, appuyer sur
esur l'entrée voulue. - À la fin de la ligne commençant par
linux, ajouter :init=/bin/bash(Debian, Ubuntu…)rd.break(Fedora, RHEL…)
Ctrl+Xpour démarrer, puis :- avec
init=/bin/bash:mount -o remount,rw / - avec
rd.break:mount -o remount,rw /sysrootpuischroot /sysroot
- avec
passwd nom_utilisateur- Redémarrer (
exec /sbin/initoureboot -f).
Fedora / RHEL (SELinux)
Avant de redémarrer, exécuter touch /.autorelabel. Sans cela, la connexion échouera après le changement de mot de passe.
3. Clé USB live + chroot
C'est la méthode la plus universelle : elle fonctionne quelle que soit la distribution installée, même si GRUB est verrouillé ou endommagé.
Étapes
-
Démarrer sur une clé live (n'importe quelle distribution), en choisissant la clé dans le menu de démarrage (
F12,F10,Échap… selon le constructeur). -
Identifier la partition racine du système installé :
Repérer la partition au système de fichiers
ext4(oubtrfs,xfs…) correspondant au système à réparer, par exemple/dev/sda2ou/dev/nvme0n1p2. -
Passer en administrateur dans la session live, pour ne pas répéter
sudoà chaque commande : -
Monter la partition racine :
-
Monter les systèmes de fichiers virtuels nécessaires au chroot :
-
Entrer dans le système installé :
-
Changer le mot de passe :
Pour retrouver le nom exact du compte :
ls /home. -
Sortir et redémarrer :
Retirer la clé USB au redémarrage.
Cas particuliers
Partition /boot ou /home séparée
Cela n'a pas d'incidence pour la réinitialisation d'un mot de passe : seule la partition racine (qui contient /etc/shadow) est nécessaire.
Utilisateur absent du groupe sudo
Si le compte récupéré n'a pas les droits d'administration, les rétablir depuis le chroot :
Fedora / RHEL (SELinux)
Depuis le chroot, avant de sortir : touch /.autorelabel.
LVM
Si le système est installé sur LVM, activer les volumes avant le montage : sudo vgchange -ay, puis monter /dev/mapper/....
Limites
-
Disque chiffré (LUKS) : sans la phrase de passe de chiffrement, aucune de ces méthodes ne fonctionne. C'est voulu. Avec la phrase de passe, ouvrir d'abord le volume :
-
GRUB protégé par mot de passe, ou démarrage USB désactivé dans le BIOS/UEFI : il faut alors passer par le BIOS, s'il n'est pas lui-même verrouillé.
Sécurité
Un accès physique non protégé équivaut à un accès administrateur
Pour des postes sensibles :
- chiffrer le disque (LUKS) ;
- protéger GRUB par un mot de passe ;
- verrouiller le BIOS/UEFI et désactiver le démarrage sur USB.
Résumé
| Méthode | Difficulté | Fonctionne si GRUB est verrouillé ou cassé | Remarque |
|---|---|---|---|
| Mode recovery | Facile | Non | Dépend de la distribution |
| Édition de la ligne GRUB | Moyenne | Non | init=/bin/bash ou rd.break |
| Clé USB live + chroot | Moyenne | Oui | La plus universelle |