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 must be listed in /etc/shells, unless the invoker is the super-user, and then any value may be added. An account with a restricted login shell 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.