chsh - Man Page
change your login shell
Examples (TL;DR)
- Change the user's login shell:
chsh -s path/to/shell_binary username
Synopsis
Description
chsh is used to change your login shell. If a shell is not given on the command line, chsh prompts for one.
chsh supports non-local entries (kerberos, LDAP, etc.) if linked with libuser, otherwise use ypchsh, lchsh or any other implementation for non-local entries.
Options
- -s, --shell shell
Specify your login shell.
- -l, --list-shells
Print the list of shells listed in /etc/shells and exit.
- -h, --help
Display help text and exit.
- -v, --version
Display version information and exit.
Valid Shells
chsh will accept the full pathname of any executable file on the system.
The default behavior for non-root users is to accept only shells listed in the /etc/shells file, and issue a warning for root user. It can also be configured at compile-time to only issue a warning for all users.
Exit Status
Returns 0 if operation was successful, 1 if operation failed or command syntax was not valid.
Authors
Salvatore Valente <svalente@mit.edu>
See Also
Availability
The chsh command is part of the util-linux package and is available from https://www.kernel.org/pub/linux/utils/util-linux/.
Referenced By
chfn(1), dash(1), groupadd(8), groupdel(8), groupmems(8), groupmod(8), intro(1), passwd(5), shells(5), useradd(8), userdel(8), userhelper(8), usermod(8), yppasswd(1).