Si nous ne connaissons pas le mot de passe root et n'avons pas d'accès root à la machine, comment pouvons-nous changer le mot de passe root?
Si nous ne connaissons pas le mot de passe root et n'avons pas d'accès root à la machine, comment pouvons-nous changer le mot de passe root?
Réponses:
Voici quelques façons dont je peux penser, du moins intrusif au plus intrusif.
Avec sudo: si vous avez les sudo
autorisations nécessaires 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 que vous n'ont pas plein sudo
accès, mais vous n'avez pas accès au . Ouvert , avec ou avec . Remplacez le champ de mot de passe root (tous les caractères aléatoires entre les deuxième et troisième deux-points ) par 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 quelque chose d'autre./etc/{passwd,shadow}
/etc/shadow
sudoedit /etc/shadow
sudo $EDITOR /etc/shadow
:
Ce sont les plus faciles.
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 modifier la ligne de commande Linux. Cela 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 tarder:
kernel
ou linux
.Votre système démarrera en mode mono-utilisateur. Certaines distributions ne vous demanderont pas de mot de passe root à ce stade (les versions basées sur Debian et basées sur Debian le font). Tu es 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 de fonctionnement normal, dites telinit 2
(ou quoi que ce soit).
Remplacementinit
: superficiellement similaire au tour en mode utilisateur unique, avec 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 cela single
, vous ajoutez init=/bin/sh
. Cela fonctionnera /bin/sh
à la place de init
, et vous donnera une coquille très tôt avec presque pas de commodités. À ce stade, votre objectif est de:
passwd
.passwd
commande.Selon votre configuration particulière, elles peuvent être triviales (identiques aux instructions du mode utilisateur unique) ou extrêmement non triviales: chargement de modules, initialisation du logiciel RAID, ouverture de volumes chiffrés, démarrage de LVM, etc. Sans cela init
, vous n'exécutez ni démons ni aucun autre processus, mais /bin/sh
ses enfants, vous êtes donc littéralement seul. De plus, vous n'avez pas de contrôle sur le travail, alors faites attention à ce que vous tapez. Un égaré cat
et vous devrez peut-être redémarrer si vous ne pouvez pas 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 manière 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
De toute évidence, le $SOME_ROOT_DEV
nom du périphérique en bloc attribué à votre système de fichiers racine par le disque de secours $EDITOR
correspond à votre éditeur favori (qui doit éventuellement figurer vi
sur le système de secours). Après cela reboot
, laissez l’ordinateur démarrer normalement; Le mot de passe de root sera celui de votre propre utilisateur. Connectez-vous en tant que root et changez-le immédiatement.
De toute évidence, il existe d'innombrables variations à ce qui précède. Ils se résument tous à deux étapes:
Cela devrait fonctionner à peu près n'importe quelle distribution, je pense.
Si vous pouvez accéder à la partition racine depuis un autre système, par exemple un CD live, vous pouvez modifier en tant que root à partir de là /etc/shadow
; vous devez d'abord chmod u+w shadow
. Recherchez 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 ce qui se trouve entre les deux premiers points, de sorte que vous obtenez:
root::15666:0:99999:7:::
Puis chmod u-w shadow
. Vous pouvez maintenant redémarrer le système et root n'aura aucun 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 faire très attention:
/etc/shadow
premier.passwd
dans un environnement chroot à partir du CD live?
/etc/shadow
À en juger par les balises, je suppose que 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 étape par étape de Red Hat :
kernel
, appuyez à enouveau sur.single
. Ensuite, appuyez sur ENTERet bsortez de là.Vous obtiendrez éventuellement une invite où vous pourrez taper passwd root
et changer le mot de passe. Puis tapez reboot
pour redémarrer le système.
/boot/grub/grub.conf
pour supprimer le mot de passe du chargeur de démarrage et /etc/inittab
modifier le shell mono-utilisateur comme suit: / bin / sh (cc @pradeepchhetri)