different shell for root and non-root user

Please see man usermod.

An example would be sudo usermod -s /bin/bash username.


As far as I know your default shell is defined in /etc/passwd (as decided at user creation). Change /etc/passwd on the target machine to reflect your choice.


The command chsh(1) is used to change a user's shell. The system can be set up to allow only certain shells by listing the allowed shells in /etc/shells. This does not need root privileges, but a user can only change their shell.

You will need to enter your password (not root) to change your shell, unless you are root, in which case no password is needed and you can set any program to be used as a user's shell (ignoring /etc/shells).