3

My OS is Ubuntu 12.10, and my account is called acgtyrant, and its UID is 1000. For the need of researching, I changed my UID from 1000 to 1010 in /etc/passwd, and then I found my files' master changed to a number:1000, which prove my suppose. But when I try to change my UID back, I found I can't edit the passwd file any more! Because when I try to run sudo vim /etc/passwd, the Bash told me sudo: unknown uid 1000: who are you?.

So how to solve it? Acctually I am a chinese student, so forgive my poor English please.

  • I haven't got a LiveCD to hand to test this - but suggest that you boot from a LiveCD and choose to 'test Ubuntu' rather than install it. Then open a terminal and edit the passwd file. – Clive van Hilten Feb 27 '13 at 8:07
2

Press shift during boot then select recovery and drop to a root shell.

Now mount the file system read-write

mount -o rw,remount /

So far you are following the instructions on how to reset your password from here

Finally don't change your password but simply edit the file

vipw

To edit /etc/passwd or vipw -s to edit /etc/shadow

Similarly use vigr to edit /etc/group and vigr -s to edit /etc/gshadow

Standard editors such as nano and vim do not check the file structure before saving so may make problems worse.

reboot and all should be OK

  • 1
    Cautionary note: use vipw on a live system. For the recovery system this method may be just alright. Use vigr for the group file. Use the option -s to edit the respective shadow files. – 0xC0000022L Feb 27 '13 at 13:53
  • @0xC0000022L Thanks for pointing this out. I was not aware of the vipw command but just looked it up. Its safer. – Warren Hill Feb 27 '13 at 14:04
  • @acgtyrant If this solved your problem please accept the answer. It makes it easier for others with a similar problem to find. It also doesn't hurt my reputation score :-D. – Warren Hill Mar 1 '13 at 10:59
  • @Warren Hill As your wish. – acgtyrant Mar 5 '13 at 10:59
2

Maybe try something like this:

usermod -u UID_number username
  • I have solved it already, but thanks anyway. – acgtyrant Mar 1 '13 at 10:30
1

two things: have a "backup" user

already have a root password setup $ sudo passwd root

login with backup user account, then.

su

now as root, nano /etc/passwd change your uid and gid back to original, most likely 1000:1000

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.