web-dev-qa-db-fra.com

Comment changer le mot de passe root?

Si nous ne connaissons pas le mot de passe root et n'avons pas accès root à la machine, comment pouvons-nous changer le mot de passe root?

40
monu

Voici quelques façons dont je peux penser, du moins intrusif au plus intrusif.

Sans redémarrage

Avec Sudo: si vous avez Sudo autorisations pour exécuter passwd, vous pouvez faire:

Sudo passwd root

Entrez votre mot de passe, puis entrez un nouveau mot de passe pour root deux fois. Terminé.

Édition de fichiers: cela fonctionne dans le cas peu probable où vous n'avez pas un accès complet à Sudo, mais vous avez ont accès à modifier /etc/{passwd,shadow}. Ouvert /etc/shadow, soit avec sudoedit /etc/shadow, ou avec Sudo $EDITOR /etc/shadow. Remplacer le champ du mot de passe de root (tous les caractères aléatoires entre les deuxième et troisième deux-points :) avec le champ de mot de passe de votre propre utilisateur. Sauver. Le local a le même mot de passe que vous. Connectez-vous et changez le mot de passe pour autre chose.

Ce sont les plus faciles.

Redémarrage nécessaire

mode mono-utilisateur: Cela vient d'être expliqué par Renan. Cela fonctionne si vous pouvez accéder à GRUB (ou votre chargeur de démarrage) et vous pouvez modifier la ligne de commande Linux. Cela ne fonctionne pas si vous utilisez Debian, Ubuntu et quelques autres. Certains démarrent les configurations du chargeur nécessitent un mot de passe pour ce faire, et vous devez le savoir pour continuer.

  1. Redémarrez.
  2. Saisissez le mot de passe au démarrage, le cas échéant.
  3. Entrez dans le menu de votre chargeur de démarrage.
  4. Si le mode mono-utilisateur est disponible, sélectionnez-le (Debian l'appelle "mode de récupération").
  5. Sinon, et vous exécutez GRUB:
    1. Mettez en surbrillance votre option de démarrage normale.
    2. Presse e pour passer en mode édition. On peut vous demander un mot de passe GRUB là-bas.
    3. Mettez en surbrillance la ligne commençant par kernel ou linux.
    4. Presse e.
    5. Ajoutez le mot "single" à la fin. (n'oubliez pas d'ajouter un espace!)
    6. Presse Enter et démarrez la strophe éditée. Certains GRUB utilisent Ctrl-X, certains utilisent b. Il indique lequel c'est en bas de l'écran.

Votre système démarrera en mode mono-utilisateur. 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,rw
passwd # Enter your new password twice at the prompts
mount / -o remount,ro
sync # 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 quoi que ce soit).

Remplacement de init: superficiellement similaire à l'astuce du mode mono-utilisateur, avec en grande partie 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. Cela s'exécutera /bin/sh à la place de init, et vous donnera un très début Shell avec presque aucune commodité. À ce stade, votre objectif est de:

  1. Montez le volume racine.
  2. Lancez passwd.
  3. Modifiez 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 très non triviales: chargement de modules, initialisation du RAID logiciel, ouverture de volumes chiffrés, démarrage de LVM, etc. Sans init, vous n'exécutez pas dæmons ni aucun autre processus mais /bin/sh et ses enfants, donc vous êtes littéralement tout seul. Vous n'avez pas non plus de contrôle des tâches, alors faites attention à ce que vous tapez. Un cat mal placé et vous devrez peut-être redémarrer si vous ne pouvez pas vous en sortir.

Rescue Disk: 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

Évidemment, $SOME_ROOT_DEV est le nom du périphérique de bloc attribué à votre système de fichiers racine par le disque de secours et $EDITOR est votre éditeur préféré (qui peut ê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.

D'autres moyens

De toute évidence, il existe d'innombrables variations de ce qui précède. Ils se résument tous à deux étapes:

  1. Obtenez un accès root à l'ordinateur (catch-22 - et le vrai truc)
  2. Modifiez le mot de passe de root en quelque sorte.
64
Alexios

Cela devrait fonctionner sur à peu près n'importe quelle distribution, je pense.

Si vous pouvez accéder à la partition racine à partir d'un autre système, par exemple un CD live, vous pouvez en tant que root à partir de là modifier /etc/shadow; vous devez d'abord chmod u+w shadow. Trouvez l'entrée pour root, c'est probablement la première et ressemble à ceci:

root:$6$asdG0[..etc...]ae/:15666:0:99999:7:::

Effacez tout entre les deux premiers deux points pour vous retrouver avec:

root::15666:0:99999:7:::

Alors chmod u-w shadow. Vous pouvez maintenant redémarrer le système et root n'aura pas de mot de passe. Vous pouvez simplement taper root à l'invite de connexion et il n'en demandera pas. Vous pouvez ensuite utiliser passwd pour en définir un.

Pour être extrêmement prudent:

  • Créez une copie de sauvegarde de /etc/shadow première.
  • Ne vous connectez en tant que personne que root tant que vous n'avez pas défini de nouveau mot de passe. Ce n'est pas critique, mais protège contre la possibilité théorique que des logiciels malveillants non privilégiés fassent une sorte de grêle mary pass ("Hé, peut-être qu'il n'y a pas de mot de passe root ..."). Un peu farfelu OMI.
7
goldilocks

À en juger par les balises que je prends, vous utilisez RHEL, mais cette solution devrait fonctionner aussi bien pour toutes les distributions.

Si le mot de passe root est oublié, vous pouvez démarrer en mode mono-utilisateur et l'utiliser pour changer le mot de passe. Cette approche est décrite dans le guide pas à pas de Red Hat :

  1. Entrez dans le menu GRUB et appuyez sur e .
  2. Choisissez la ligne commençant par kernel, appuyez sur e encore.
  3. À la fin de cette ligne, mettez single. Puis appuyez ENTER et boot de lui.

Vous finirez par arriver à une invite où vous pouvez taper passwd root et modifiez le mot de passe. Tapez ensuite reboot pour redémarrer le système.

4
Renan