1

Sometimes I impress myself with my ability to screw things up: I changed the default shell of root with the chsh command, problem is I forgot to put in the full path. Now I can't log in as root. Is there a file somewhere that I can edit to change roots' default shell?

4 Answers 4

2

Yes, it's in /etc/passwd, but you'll need to be logged in as root to change it. You've said you can't log in now, but do you still have a live root window from before the change?

4
  • Or you could boot with a live CD/DVD or you could use sudo vi /etc/passwd if it is allowed for your non-root user (which hopefully exists). Also su root -c 'vi /etc/passwd' should work without a default shell.
    – bmk
    Mar 16, 2011 at 11:27
  • a catch-22 for sure. I don't have sudo set up but I do have separate user. root is logged out. It's a VPS so no CD/DVD available. Guess I'll have to re-install?
    – breez
    Mar 16, 2011 at 11:35
  • Do your VPS provider offer some kind of rescue system?
    – Sven
    Mar 16, 2011 at 11:36
  • brilliant, the VPS control-panel had a custom java console app which uses its own shell. Was able to change the passwd file as suggested, can now log in as root. Resolved! Thanks guys.
    – breez
    Mar 16, 2011 at 11:44
2

The shell for an user is specified in /etc/passwd, it's the last entry in each line; example:

root:x:0:0:root:/root:/bin/bash

In this case, the shell is /bin/bash.

Of course, you will have to log in as root in order to edit it, which in your case could be... difficult. If you have other user accounts on the system, you can log in as one of them and then use sudo to act as root and edit the file.

0

You can edit the /etc/passwd file and change the first line to be like:

root:x:0:0:root:/root:/bin/bash
0

If it's a VPS, ask the company to shut down the VM and mount your partition from Domain0 and modify yout /etc/passwd file (I guess they are providing VM on Xen).

1
  • That's quite a big guess...
    – Massimo
    Mar 16, 2011 at 20:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .