Now, there is a utility called
chsh is used for changing your default shell without requiring manual modifications in /etc/passwd
How to use chsh to change your default shell?
First of all look at available shells
# /etc/shells: valid login shells /bin/csh /bin/sh /usr/bin/es /usr/bin/ksh /bin/ksh /usr/bin/rc /usr/bin/tcsh /bin/tcsh /usr/bin/esh /bin/dash /bin/bash /bin/rbash /usr/bin/screen
If you are a super user e.g root, chsh syntax is here;
chsh -s /path/to/shell testuser
chsh -s /bin/bash david
By default user have privilege to change their shell only using below command.
provide your password and it should prompt next screen as below.
Changing the login shell for david
Enter the new value, or press ENTER for the default
Login Shell [/bin/sh]:
By the way, super user(e.g root) can change shell for any user editing /etc/passwd.