Aller au contenu

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 :

    sudo passwd nom_du_compte
    
  • Ubuntu, Debian et dérivés : le compte root est généralement verrouillé. L'administration passe par un utilisateur membre du groupe sudo. C'est le mot de passe de cet utilisateur qu'il faut réinitialiser, pas celui de root.

  • Disque chiffré (LUKS) ? Sans la phrase de passe de chiffrement, aucune méthode ne fonctionne (voir Limites).

1. Mode de secours (recovery) de GRUB

  1. Au démarrage, maintenir Maj (BIOS) ou appuyer sur Échap (UEFI) pour afficher GRUB.
  2. Choisir Advanced options, puis l'entrée (recovery mode).
  3. Sélectionner root (Drop to root shell prompt).
  4. Remonter le système en écriture :

    mount -o remount,rw /
    
  5. Changer le mot de passe :

    passwd nom_utilisateur
    
  6. Redémarrer : reboot -f

2. Édition de la ligne de démarrage GRUB

Utile si le mode recovery n'est pas proposé.

  1. Dans GRUB, appuyer sur e sur l'entrée voulue.
  2. À la fin de la ligne commençant par linux, ajouter :
    • init=/bin/bash (Debian, Ubuntu…)
    • rd.break (Fedora, RHEL…)
  3. Ctrl+X pour démarrer, puis :
    • avec init=/bin/bash : mount -o remount,rw /
    • avec rd.break : mount -o remount,rw /sysroot puis chroot /sysroot
  4. passwd nom_utilisateur
  5. Redémarrer (exec /sbin/init ou reboot -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

  1. 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).

  2. Identifier la partition racine du système installé :

    lsblk -f
    

    Repérer la partition au système de fichiers ext4 (ou btrfs, xfs…) correspondant au système à réparer, par exemple /dev/sda2 ou /dev/nvme0n1p2.

  3. Passer en administrateur dans la session live, pour ne pas répéter sudo à chaque commande :

    sudo -i
    
  4. Monter la partition racine :

    mount /dev/sdXN /mnt
    
  5. Monter les systèmes de fichiers virtuels nécessaires au chroot :

    mount --bind /dev /mnt/dev
    mount --bind /proc /mnt/proc
    mount --bind /sys /mnt/sys
    mount --bind /run /mnt/run
    
  6. Entrer dans le système installé :

    chroot /mnt
    
  7. Changer le mot de passe :

    passwd nom_utilisateur
    

    Pour retrouver le nom exact du compte : ls /home.

  8. Sortir et redémarrer :

    exit
    umount -R /mnt
    reboot
    

    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 :

usermod -aG sudo nom_utilisateur      # Debian, Ubuntu
usermod -aG wheel nom_utilisateur     # Fedora, Arch

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 :

    sudo cryptsetup open /dev/sdXN racine_chiffree
    sudo mount /dev/mapper/racine_chiffree /mnt
    
  • 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