Voici quelques moyens auxquels je pense, du moins intrusif au plus intrusif.
Avec sudo : si vous avez sudo
les autorisations pour exécuter passwd
, vous pouvez faire :
sudo passwd root
Entrez votre mot de passe, puis entrez deux fois un nouveau mot de passe pour root. Terminé.
Editer des fichiers : cela fonctionne dans le cas improbable où vous n’avez pas un accès complet sudo
, mais vous avez accès à l’édition /etc/{passwd,shadow}
. Ouvrez /etc/shadow
, soit avec sudoedit /etc/shadow
, soit avec sudo $EDITOR /etc/shadow
. Remplacez le champ du mot de passe de root (tous les caractères aléatoires entre les deuxième et troisième deux-points :
) par le champ du mot de passe de votre propre utilisateur. Enregistrez. Le local a le même mot de passe que vous. Connectez-vous et changez le mot de passe en quelque chose d’autre.
Ce sont les plus faciles.
Reboot requis
Mode mono-utilisateur : Cela vient d’être expliqué par Renan. Il fonctionne si vous pouvez accéder à GRUB (ou votre chargeur de démarrage) et si vous pouvez éditer la ligne de commande Linux. Il ne fonctionne pas si vous utilisez Debian, Ubuntu, et quelques autres. Certaines configurations de chargeur de démarrage nécessitent un mot de passe pour le faire, et vous devez le savoir pour continuer. Sans plus attendre :
- Reboot.
- Entrez le mot de passe de démarrage, s’il y en a un.
- Entrez dans le menu de votre chargeur de démarrage.
- Si le mode mono-utilisateur est disponible, sélectionnez-le (Debian l’appelle ‘Recovery mode’).
- Si ce n’est pas le cas, et que vous exécutez GRUB :
- Mettez en évidence votre option de démarrage normal.
- Appuyez sur e pour entrer en mode édition. Il se peut qu’on vous demande un mot de passe GRUB à cet endroit.
- Mettez en évidence la ligne commençant par
kernel
oulinux
. - Appuyez sur e.
- Ajoutez le mot ‘single’ à la fin. (n’oubliez pas de faire précéder d’un espace !)
- Appuyez sur Entrée et démarrez la strophe modifiée. Certains GRUB utilisent Ctrl-X, d’autres utilisent b. Il dit lequel c’est en bas de l’écran.
Votre système démarrera en mode utilisateur unique. Certaines distributions ne vous demanderont pas de mot de passe root à ce stade (Debian et celles basées sur Debian le font). Vous êtes root maintenant. Changez votre mot de passe :
mount / -o remount,rwpasswd # Enter your new password twice at the promptsmount / -o remount,rosync # some people sync multiple times. Do what pleases you.reboot
et reboot
, ou, si vous connaissez votre niveau d’exécution normal, dites telinit 2
(ou quel qu’il soit).
Remplacer init
: superficiellement similaire à l’astuce du mode utilisateur unique, avec largement les mêmes instructions, mais nécessite beaucoup plus de prouesses avec la ligne de commande. Vous démarrez votre noyau comme ci-dessus, mais au lieu de single
, vous ajoutez init=/bin/sh
. Ceci exécutera /bin/sh
à la place de init
, et vous donnera un shell très précoce avec presque aucune commodité. A ce stade, votre objectif est de :
- Monter le volume racine.
- Faire fonctionner
passwd
. - Changer votre mot de passe avec la commande
passwd
.
Selon votre configuration particulière, celles-ci peuvent être triviales (identiques aux instructions pour le mode mono-utilisateur), ou hautement non triviales : chargement de modules, initialisation du RAID logiciel, ouverture de volumes chiffrés, démarrage de LVM, et cetera. Sans init
, vous n’exécutez pas de dæmons ou d’autres processus que /bin/sh
et ses enfants, vous êtes donc assez littéralement seul. Vous n’avez pas non plus le contrôle des tâches, alors faites attention à ce que vous tapez. Une cat
mal placée et vous risquez de devoir redémarrer si vous ne parvenez pas à vous en sortir.
Disque de secours : celui-ci est facile. Démarrez un disque de secours de votre choix. Montez votre système de fichiers racine. Le processus dépend de la façon dont vos volumes sont superposés, mais se résume finalement à :
# do some stuff to make your root volume available. # The rescue disk may, or may not do it automatically. mkdir /tmp/my-root mount /dev/$SOME_ROOT_DEV /tmp/my-root $EDITOR /tmp/my-root/etc/shadow # Follow the `/etc/shadow` editing instructions near the top cd / umount /tmp/my-root reboot
Evidemment, $SOME_ROOT_DEV
est le nom de périphérique de bloc, quel qu’il soit, attribué à votre système de fichiers racine par le disque de secours et $EDITOR
est votre éditeur préféré (qui peut devoir être vi
sur le système de secours). Après le reboot
, laissez la machine démarrer normalement ; le mot de passe de root sera celui de votre propre utilisateur. Connectez-vous en tant que root et modifiez-le immédiatement.
Autres moyens
Il existe évidemment d’innombrables variantes de ce qui précède. Elles se résument toutes à deux étapes :
- Obtenir un accès root à l’ordinateur (catch-22 – et le vrai truc)
- Changer le mot de passe de root d’une manière ou d’une autre.