Généralités système Linux

Réinitialiser son mot de passe Linux perdu

Table des matières

password



Introduction



Voici un article qui montre les manipulations à effectuer sur votre système Linux pour réinitialiser un mot de passe utilisateur ou root quand on ne peut plus se connecter à la machine.

Cette astuce fonctionne avec l'initialisation systemd ou OpenRC.

Si le disque est chiffré, et que vous avez oublié la passphrase, ou que GRUB est protégé par mot de passe, vous ne pourrez pas réinitialiser le mot de passe root.


Lancer BASH au démarrage



Quand on allume le système concerné, au niveau de GRUB2 (le chargeur d'amorçage) on va appuyer sur la touche "e" pour éditer l'entrée de démarrage du système.

Repérez la ligne commençant par linux. Voici un exemple pour ma part :
Code BASH :
linux /boot/vmlinuz-6.8.0-51-generic root=UUID=881a9bf8-d603-4d90-818e-4f0e9e368425 ro quiet splash


Allez à la fin de cette ligne et ajoutez : init=/bin/bash :
Code BASH :
linux /boot/vmlinuz-6.8.0-51-generic root=UUID=881a9bf8-d603-4d90-818e-4f0e9e368425 ro quiet splash init=/bin/bash


On est en clavier qwerty, taper donc init=!bin!bqsh

Ensuite, presser Ctrl+x pour démarrer.

On arrive sur une interface en ligne de commande après quelques secondes.

Monter la partition en lecture/écriture



A ce moment, le clavier est normalement en Français.

Avant de modifier le mot de passe, il faut s'assurer que la partition racine est en lecture/écriture. Pour cela, taper mount :
Code BASH :
mount


Il peut arriver que la partition racine soit en lecture seule (option ro ) :
Code BASH :
/dev/sda1 on / type ext4 (ro,relatime)


Il suffit alors de remonter la partition en lecture/écriture :
Code BASH :
mount -o remount,rw /


Vérifier avec mount que c'est bien en lecture/écriture (option rw) :
Code BASH :
/dev/sda1 on / type ext4 (rw,relatime)


Initialiser le mot de passe



Il suffit d'initialiser le mot de passe root ou utilisateur avec la commande passwd.

Pour root :
Code BASH :
passwd root


Pour un utilisateur (par exemple adrien) :
Code BASH :
passwd adrien


On synchronise les écritures avec :
Code BASH :
sync


Si on utilise un système disposant de SELinux (ce qui est le cas par défaut de Fedora, RHEL et dérivées), il faudra réétiqueter les fichiers au prochain démarrage (peut prendre du temps) via la commande :
Code BASH :
touch /.autorelabel


On démonte la partition proprement :
Code BASH :
umount /


Redémarrer la machine



Ensuite, on redémarre la machine :
Code BASH :
reboot


Avec systemd, on ne pourra pas redémarrer la machine avec cette commande.
On pourra initier un reboot avec un Ctrl + Alt + Suppr ou la combinaison : Alt + SysRq + b

Et le tour est joué !

:magic:
Cette page a été vue 29994 fois