web-dev-qa-db-fra.com

Comment récupérer un fichier / etc / passwd supprimé?

J'ai supprimé le fichier /etc/passwd et je ne peux plus me connecter maintenant. Je ne connais pas le mot de passe root et ai essayé beaucoup de mots de passe, mais aucun d'entre eux n'a fonctionné.

Comment puis-je réparer cela?

3
Eren

Voici les étapes à suivre pour faire ceci graphiquement:

  1. Démarrez dans un environnement Ubuntu en direct en utilisant un support de démarrage Ubuntu;

  2. Lancez le gestionnaire de fichiers Nautilus et montez votre partition Ubunt (ici, dans l’instantané, c’est le système de fichiers de 129 Go ); snap1

    (Frappé Ctrl + L pour voir l'UUID de la partition.) snap2

  3. Démarrer Nautilus avec le privilège root (Appuyez sur Alt + F2 et tapez gksu nautilus et appuyez sur Entrée); snap3

  4. La partition Ubuntu devrait apparaître dans la barre latérale avec son UUID. Cliquez pour le monter, puis accédez au répertoire /etcsnap4

  5. Dans le répertoire /etc, faites défiler vers le bas pour rechercher le fichier nommé passwd- et faites-en une copie dans le répertoire ( maintenez enfoncée  Ctrl clé, placez le pointeur de la souris sur le fichier, maintenez enfoncé le bouton gauche de la souris , faites glisser le pointeur de la souris, puis relâchez le bouton de la souris suivi de Ctrl clé pour faire une copie dans le même répertoire; un fichier nommé passwd- (copy) sera créé); snap5

  6. Sélectionnez le fichier de copie, cliquez avec le bouton droit de la souris et sélectionnez renommer . Puis renommez le fichier en passwdsnap6

  7. Une fois le fichier renommé passwd, cliquez avec le bouton droit de la souris et sélectionnez Propriétés dans le menu contextuel, puis dans l'onglet Autorisations , définissez la les autorisations appropriées, c'est-à-dire que le propriétaire root ​​devrait avoir lire et écrire permission tandis que pour le Groupe et Autres définir l'accès à lecture seule et fermez la fenêtre des propriétés; snap7

  8. Maintenant, redémarrez votre système et vous devriez pouvoir vous connecter avec votre mot de passe.


Vous pouvez faire la même chose en utilisant un terminal dans un environnement en direct.

Les marches:

  1. Démarrez pour vivre la session Ubuntu;

  2. Ouvrez un terminal ou un terminal et tapez la commande:

    Sudo fdisk -l
    

    (et notez le nom de périphérique de votre partition Ubuntu qui sera sous la forme /dev/sdX.)

  3. Montez l'appareil,

    Sudo mount /dev/sdXY /mnt
    

    (repacez sdXY avec votre périphérique cible.)

  4. cd vers le répertoire du système cible /etc:

    cd /mnt/etc
    
  5. Utilisez le fichier de sauvegarde pour restaurer et définissez les autorisations appropriées:

    Sudo cp passwd- passwd
    Sudo chmod 644 passwd
    

    Ou utilisez la sauvegarde dans /var/backups/passwd.bak:

    Sudo install -m 644 /mnt/var/backups/passwd.bak /mnt/var/backups/passwd
    

    (comme l'a souligné Lekensteyn dans son commentaires )

  6. Puis redémarrez votre ordinateur:

    Sudo reboot
    
5
precise

Cette question semble avoir déjà les réponses appropriées, je développerai simplement celle de @Lekensteyn comment :

Sudo cp /var/backups/passwd.bak /etc/passwd
Sudo chmod 644 /etc/passwd
5
Wilf

Si vous êtes pouvez vous connecter, ouvrez simplement le terminal et essayez ceci:

Sudo cp /etc/passwd- /etc/passwd

Sudo chmod 644 /etc/passwd

Else

Démarrez en mode de récupération ou à partir d'Ubuntu Live Cd. Ensuite, montez votre ancien lecteur:

mkdir /olddrive
mount /dev/hda5 /olddrive
assuming that your old drive is on /dev/hda5.
then, cd to /olddrive/etc
type:
echo "root::0:0:Superuser:/:/bin/bash" > passwd

puis redémarrez. Cela ne définira pas de mot de passe pour root.

Ensuite, vous pouvez vous connecter, créer à nouveau tous vos comptes, etc.

Vous pouvez également utiliser la sauvegarde qui s'appelle (je pense) /etc/passwd-

Edit: (une autre méthode "Je n'essaie pas ça avant mais je pense que ça devrait marcher aussi")

  • Démarrer GRUB au démarrage (appuyez sur ÉCHAP pendant le démarrage)
  • Appuyez sur e sur (mode de récupération)
  • Appuyez sur e sur la ligne commençant par le noyau
  • Appuyez sur la barre d'espace et entrez "init=/bin/bash"
  • Appuyez sur Entrée
  • Appuyez sur b
  • A l'invite de commande, tapez: "cp /etc/passwd- /etc/passwd"
  • Redémarrez sur GRUB à nouveau
  • Appuyez sur e sur (mode de récupération)
  • Appuyez sur e sur la ligne commençant par le noyau
  • Appuyez sur la barre d'espace et entrez "init =/bin/bash"
  • Appuyez sur Entrée
  • Appuyez sur b
  • A l'invite de commande, tapez "mount -o remount,rw /"
  • Tapez "passwd YOURUSERNERNAMEHERE" (SI vous ne connaissez pas votre nom d'utilisateur, tapez "ls/home" (c'est-à-dire un L minuscule et un S minuscule) pour obtenir une liste d'utilisateurs.
  • Entrez le nouveau mot de passe à l'invite
  • Redémarrez au démarrage normal.

Source

3
Maythux