chsh changes the user login shell. This determines the name of the user's initial login command. A normal user may only change the login shell for their own account, the super user may change the login shell for any account.
The only restrictions placed on the login shell is that the command name shall be listed in /etc/shells, unless the invoker is the super-user, and then any value may be added. Accounts which are restricted (in an implementation-defined manner) may not change their login shell.
If the -s option is not selected, chsh operates in an interactive mode. The prompts and expected input in this mode are implementation-defined.