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?
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?
The shell for an user is specified in
/etc/passwd, it's the last entry in each line; example:
In this case, the shell is
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.
You can edit the
/etc/passwd file and change the first line to be like:
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).