web-dev-qa-db-fra.com

Comment changer mon UID dans le fichier passwd?

Mon système d'exploitation s'appelle Ubuntu 12.10 et mon compte s'appelle acgtyrant, et son UID est 1000. Pour le besoin de rechercher, j'ai changé mon UID de 1000 à 1010 dans /etc/passwd, puis j'ai trouvé le maître de mes fichiers changé en number:1000, ce qui prouve ma supposition. Mais quand j'essaie de changer mon UID, j'ai constaté que je ne pouvais plus éditer le fichier passwd! Parce que quand j'essaye de lancer Sudo vim /etc/passwd, le Bash m'a dit Sudo: unknown uid 1000: who are you?.

Alors, comment le résoudre? En fait je suis un étudiant chinois, alors pardonnez mon mauvais anglais s'il vous plait.

3
acgtyrant

Appuyez sur shift au démarrage, puis sélectionnez la récupération et passez à un shell racine.

Maintenant, montez le système de fichiers en lecture-écriture

mount -o rw,remount /

Jusqu'à présent, vous suivez les instructions pour réinitialiser votre mot de passe à partir de ici

Enfin, ne changez pas votre mot de passe mais modifiez simplement le fichier

vipw

Pour éditer /etc/passwd ou vipw -s pour éditer /etc/shadow

De même, utilisez vigr pour éditer /etc/group et vigr -s pour éditer /etc/gshadow

Les éditeurs standard tels que nano et vim ne vérifient pas la structure de fichier avant. épargner peut aggraver les problèmes.

redémarrez et tout devrait bien se passer

2
Warren Hill

Peut-être essayer quelque chose comme ça:

usermod -u UID_number username
2
Ntc

deux choses: avoir un utilisateur "de sauvegarde"

avez déjà une configuration de mot de passe root $ Sudo passwd root

connectez-vous avec le compte utilisateur de sauvegarde, puis.

su

maintenant en tant que root, nano /etc/passwd changez votre uid et gid à l'origine, probablement 1000:1000

1
user735853