web-dev-qa-db-fra.com

Je change la dernière ligne de / etc / passwd et je ne peux pas utiliser sudo

Voici ce que j'ai fait:

  1. Remplacez un nom d'utilisateur dans la dernière ligne: tiny par abc

    • tiny@tty7:~$ Sudo vim /etc/passwd
    • Change ça:
      tiny:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
      pour ça:
      abc:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
  2. tiny@tty7:~$ Sudo vim /etc/shadow

    • il montre: [Sudo] passwork for abc:

    • Je n'ai pas changé mon mot de passe mais je ne peux pas me connecter à la racine!

    • J'écris Ctrl+Alt+F1 à tty1 mais ni minuscule ou abc ne peut pas me connecter avec mon mot de passe

et j'essaie de regarder ls ~ -la, ici il se présente comme ceci:

drwxr-xr-x 28 abc tiny 4096 Apr 6 03:04 .

Comment puis-je me connecter en root? et pourquoi le nom d'utilisateur dans l'invite tiny@tty7 est-il toujours minuscule alors que, dans Sudo, il affiche le mot de passe d'abc?

14
tinyork

La raison pour laquelle vous êtes resté bloqué après votre modification est que le fichier /etc/shadow contenait une entrée pour le mot de passe tiny mais aucune entrée pour abc, alors que le fichier /etc/passwd contenait une entrée pour abc et non pour tiny. Lorsque Sudo a été consulté, il vous a identifié correctement (d'après le fichier de mots de passe) comme étant abc en fonction de l'UID du processus que vous exécutiez, mais il a comparé ce que vous avez entré comme mot de passe avec le mot de passe chiffré (haché) stocké dans /etc/shadow , il n'a pas pu trouver d'entrée pour abc, il a donc dû signaler l'échec.

Comme shaddy dit dans son réponse , n'éditez pas le mot de passe ou les fichiers shadow à la main. Si vous devez enfreindre la règle, éditez les deux en un seul appel de vim et ne quittez pas vim tant que vous n'avez pas prouvé que les modifications sont suffisamment saines pour fonctionner en utilisant une autre fenêtre de terminal. Sauvegardez les copies de sauvegarde du fichier. fichiers avant de commencer à les pirater, et réfléchissez bien à la raison pour laquelle vous ne respectez pas les règles, car ce n’est probablement pas une bonne idée.

18
Jonathan Leffler

Vous ne devez JAMAIS éditer votre fichier passwd manuellement, car vous risquez de tout gâcher.

La bonne façon de changer votre nom d'utilisateur est:

usermod -l newUsername oldUsername

Puis changez le dossier personnel:

usermod -d /home/newHomeDir -m newUsername

Pour changer le mot de passe, vous devez utiliser:

Sudo passwd yourusername

Je vous suggère de restaurer votre fichier passwd, ou si vous ne pouvez pas le modifier car vous ne pouvez pas vous connecter avec root - démarrez ensuite avec live cd et restaurez le fichier. Ensuite, utilisez le bon chemin.

22
shaddy

Utiliser: vipw

Je l'ai toujours utilisé sur FreeBSD et je viens de confirmer que vous pouvez également l'utiliser pour Ubuntu. Veuillez lire cette page: Page de manuel Ubuntu pour vipw

0
Lady Geek