J'ai perdu le mot de passe root

Aller à : navigation, rechercher
User-away.png Cet article fait référence à la version 'Changer la page de catégorie et actualiser sur la page anglaise' et n'est plus adapté à la version courante d'openSUSE.
Si cet article reste obsolète, il sera sans doute effacé, participez à la mise à jour si vous le pouvez.

Référez-vous à la page de discussion pour plus de renseignements.

https://en.opensuse.org/SDB:Useful_trivia

Version: 10.1

Situation

  • Vous avez oublié le mot de passe root, ou
  • En cours d'installation, Yast vous demande le CD 2, vous ne l'avez pas. Au redémarrage, on vous demande un mot de passe root que vous n'avez jamais fourni...
  • ...

Avertissement

Cet article a entre autre pour but de vous montrer que quiconque peut accéder à votre clavier pour entrer dans votre système...

Les indications données ici sont très dangereuses pour votre système, une erreur peut détruire toutes vos données. Vous êtes entièrement responsable des dégâts qui peuvent survenir suite à votre action.

Utiliser ces procédés sur un ordinateur qui ne vous appartient pas est sévèrement puni par la loi.

Procédure

Principe

Vous allez accéder au système avec les droits root, sans mot de passe, en lançant le shell au lieu de l'initialisation normale lors du boot.

Il s'agit d'insérer l'option "init=/bin/sh" dans la ligne de démarrage du noyau.

Vous verrez ensuite comment mettre en place un mot de passe root valide.

Attendu que seul GRUB est utilisé depuis la SUSE 8.0, c'est à partir de ce système d'amorçage que nous allons travailler.

Démarrer sans mot de passe

Puisque votre système vous demande un mot de passe que vous ne connaissez pas c'est qu'il démarre.

Dés l'écran de démarrage, vous allez venir dans le menu en mode texte de GRUB. Si vous êtes en mode graphique, il suffit en général de presser Echap.

Il peut suffire de presser une touche "options supplémentaires" et de taper "init=/bin/sh" sur la ligne qui est proposée (non testé).

Sinon, dans le menu texte de GRUB, laissez le curseur sur la ligne que vous utilisez pour démarrer et pressez "e" (la lettre e). GRUB vous propose d'éditer cette entrée de menu, qui est composée de plusieurs lignes. Placez-vous sur la ligne qui commence par "kernel" et presser à nouveau "e". Rajoutez en fin de ligne "init=/bin/sh" (sans les ""), puis faites Entrée pour valider la modification.

Presser la lettre "b" vous fait bouter. C'est tout.

Menu texte de GRUB
Edition de ligne
Edition de l'option
Résultat du démarrage

Réparer le mot de passe root facilement

Puisque vous êtes root après le démarrage, utilisez la commande "passwd" pour changer le mot de passe...

passwd

Répondez par une chaîne vide, par exemple, pour démarrer sans mot de passe...

Réparer le mot de passe root par bidouillage

Qu'est-ce que le mot de passe

Depuis très longtemps les mots de passe sont gérés avec deux fichiers. /etc/passwd qui est lisibles par tous ceux qui veulent savoir si quelqu'un est enregistré sur le système et /etc/shadow qui n'est lû que par root ou le système et qui contient le mot de passe.

Ce mot de passe n'est pas en clair, mais sous forme de "hash", c'est à dire une suite initelligible de caractères.

Un même mot de passe donne toujours le même hash, par contre, connaissant le hash, on ne peut pas remonter au mot de passe. En fait des mots de passe différents peuvent avoir le même hash (même si la probabilité est infime). Donc le système prends votre mot de passe, calcule le hash, le compare à celui du fichier /etc/shadow et si c'est le même, vous donne l'accès.

Système ancien

le hash est dans le deuxième champ (les champs sont séparés par ":", le premier est le nom, ici "root").

Il suffit de l'effacer (ne rien mettre à la place, il reste "::") et le système considère qu'il n'y a pas de mot de passe.

Ce système a marche sur les distributions SUSE 9.x.

Système récent

Même un mot de passe vide a un hash. Qui plus est ce hash ne plaît pas au système qui risque de vous le refuser.

Soyons donc plus astucieux.

Bien que vous ayez démarré bizarrement, vous avez accès à Yast. Lancez Yast. Pas de chance, il ne vous permet pas de modifier le mot de passe root :-(.

Créez donc un utilisateur quelconque (par exemple "bidon"), avec un mot de passe que vous allez noter soigneusement.

Quittez Yast.

Ouvrez /etc/shadow avec Vi. Repérez la ligne "root" et la ligne "bidon".

vous devez avoir :

root:<hash ou rien>:13006:0:0::::
bidon:<has>13006:0:99999:7:-1::

mettez en remarque la ligne root (en ajoutant "#" devant). Vous allez remplacer bidon par root; ne gardez que le hash de bidon (surtout n'y touchez pas), recopiez soigneusement tous les autres caractères de la ligne root, en supprimant ceux de bidon. le "13006" varie selon les installations, mais devrait être le même pour toutes les lignes de votre fichier, en tout cas pour root et bidon (ça n'a sans doute pas beaucoup d'importance).

Sauvegardez votre fichier et reboutez.

vous avez attribué à root le nouveau mot de passe.

Remarque

Seul root a le droit d'écrire dans le répertoire shadow.

Cependant il y a un groupe "shadow" qui a également ce droit, mais seul root peut écrire dans /etc/passwd.

Pendant les interventions, rebouter avec la méthode indiquée à chaque erreur est pénible.

Vous pouvez donc, dès le premier boot changer les permissions de ces deux fichiers et les mettre à rw pour tous.

ne les laissez pas ainsi ensuite !!!!

<keyword>mot de passe, root, bouter, boot, grub</keyword>