I was doing some experiment about resource-accessing. By mistake, I executed this command, $ sudo mv /etc/passwd /etc/passwd.bak Then I could not execute any command with privilege(eg. sudo mv /etc/passwd.bak /etc/passwd). When I shut the system down, I could not boot it any more. Afterwards, I restored the passwd file with a LiveCD. Any other approaches could make it?
Maybe this: When the bootloader shows up, add
to the kernel parameters. Instead of booting normally (with the init process spawning all the other services including login), you should end up in single-user mode with a root shell (no password is asked) and be able to restore the passwd file. On some distributions you may need to manually remount the root partition in read/write mode before moving the file:
mount -o remount,rw /dev/sda123
(I don't want to test your issue and see if this solution works :)
You can use "sudo su" to keep a root terminal open. That way, there is no need to login with sudo each and every time, as the terminal will always be root (until you close it, of course). If you accidental move the file, you can move it back from the root terminal because you'll still be logged in.