Retrouvez cet article dans : Linux Pratique Hors série 8
Si, par malchance, vous avez oublié votre mot de passe, il n'est pas vraiment question de le " récupérer ", mais plutôt d'en créer un nouveau...
Nous allons, dans un premier temps, considérer le cas de la perte du mot de passe de votre compte personnel, autrement dit, impossible d'ouvrir une session lorsque vous êtes face à l'interface graphique de connexion.
Pour remédier à ce problème, au démarrage de l'ordinateur, lorsque vous êtes face à votre bootloader (Grub ou Lilo, qui vous permet de sélectionner le système d'exploitation à lancer), sélectionnez la ligne recovery mode ou rescue mode, autrement dit le " mode minimal ", à l'aide des curseurs fléchés de votre clavier. Dans ce mode, vous serez connecté à votre système en mode texte, en tant qu'administrateur. Attendez l'invite de commande, puis saisissez :
passwd <votre_login>. Une nouvelle ligne s'affiche alors :
Enter new Unix Password. Saisissez alors votre nouveau mot de passe, puis une deuxième fois pour confirmer (rien ne s'inscrit à l'écran pendant la frappe, c'est normal). Si tout s'est bien déroulé, vous devriez obtenir le message :
passwd updated successfully. Tapez
exit pour quitter la console et redémarrer une session. Vous pouvez désormais vous connecter à l'aide votre nouveau mot de passe. Bien sûr, si l'oubli a lieu alors que vous avez déjà ouvert une session, effectuez la même manipulation dans votre terminal de commandes graphique.
En dehors de votre compte personnel, votre système d'exploitation a besoin d'un compte spécifique pour réaliser certaines tâches sensibles (souvent des tâches d'administration et de configuration). C'est pourquoi il existe un compte de " super-utilisateur " du système, communément appelé root. Si vous oubliez le mot de passe du compte root, le problème est déjà plus sérieux...
Les utilisateurs de K/X/Ubuntu noteront qu'il n'y a pas de mot de passe dédié au compte root. Ou plutôt, les développeurs de cette distribution ont fait le choix de désactiver le compte root par défaut. En effet, pour exécuter des tâches en tant que super-utilisateur, il faut précéder vos commandes par
sudo, puis saisir le mot de passe de votre propre compte (le mot de passe du premier utilisateur que vous avez défini à l'installation). Si vous avez oublié ce mot de passe, il va falloir procéder comme ci-dessus.
Lors de l'installation d'autres distributions, on vous demandera de saisir à la fois un mot de passe pour root et un mot de passe pour votre compte personnel. En cas de perte du mot de passe root, le plus simple est de démarrer votre système sur un live-CD (type Knoppix, Ubuntu, Mandriva One, etc.). Lorsque vous êtes face à l'espace de travail, ouvrez un terminal de commandes. Il va falloir monter temporairement la partition racine de votre système sur un répertoire quelconque du système temporaire créé par le live-CD. Pour cela, créons par exemple un répertoire
racine/ dans le répertoire personnel de l'utilisateur. Bien sûr, vous êtes censé savoir ici sur quelle partition de votre disque dur se trouve la racine de votre système GNU/Linux... Dans notre cas, il s'agit de
/dev/hda3. On saisit donc la commande suivante :
|
|
guest@machine:~$ mkdir racine
guest@machine:~$ su
guest@machine:~# mount /dev/hda3 racine/
guest@machine:~# |
Notez que la commande
mount requiert les droits de super-utilisateur, renseignez-vous auprès des concepteurs du live-CD utilisé pour connaître ce mot de passe (le plus souvent, il s'agit de " root " ou, parfois, aucun mot de passe n'est requis).
Ensuite, déplacez-vous dans le répertoire racine ; vous y trouverez logiquement le contenu de la partition racine de votre système. Éditez alors le fichier
/etc/passwd, et éventuellement le fichier
/etc/shadow selon le cas, qui listent les utilisateurs du système et leur mot de passe respectif. Dans ces deux fichiers, il va falloir supprimer le mot de passe associé à l'utilisateur root. Pour cela, à la ligne commençant par
root (la première ligne en général), supprimez la série de caractères faisant office de deuxième champ (il s'agit du mot de passe chiffré). Par exemple :
|
|
root:X5Y12ef6z:0:0:root:/root:/bin/bash doit devenir root::0:0:root:/root:/bin/bash |
Dans le fichier
/etc/shadow, un unique caractère
x se trouve dans le champ mot de passe. Cela signifie que le système utilise le paquetage
shadow-utils mettant en œuvre le marquage des mots de passe en les déplaçant dans des fichiers annexes. Supprimez également le
x de la ligne
root.
Pour information, lorsque qu'un " ! " se trouve dans le champ mot de passe, cela signifie qu'aucun mot de passe n'a encore été défini pour le compte. Si une étoile " * " se trouve dans le champ mot de passe, cela signifie que le compte ne permet pas de se connecter. Enfin, si le champ est vide, cela signifie qu'aucun mot de passe ne sera demandé lors de la connexion à ce compte (c'est d'ailleurs ce que l'on cherche à obtenir avec root).
Sauvegardez le fichier, puis redémarrez votre système (après avoir ôté le live-CD du lecteur). Ouvrez une session en utilisant votre login et votre mot de passe personnel. Puis, ouvrez un terminal de commandes et saisissez la commande
su, puis [Entrée]. Aucun mot de passe ne vous est demandé (logique !), et vous devenez super-utilisateur du système. Sans plus attendre, définissez un nouveau mot de passe pour root à l'aide de la commande
passwd. En effet, pendant le laps de temps où root n'a plus de mot de passe, votre système est en danger : n'importe qui pourrait se loguer en tant que root avec un mot de passe vide et corrompre votre système...
Retrouvez cet article dans : Linux Pratique Hors série 8