chsh man page

chsh — change your login shell

TL;DR

chsh -s {{path/to/shell_binary}} {{username}}

Synopsis

chsh [-s shell] [-l] [-u] [-v] [username]

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.
-u, --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. However, it will issue a warning if the shell is not listed in the /etc/shells file. On the other hand, it can also be configured such that it will only accept shells listed in this file, unless you are root.

Exit Status

Returns 0 if operation was successful, 1 if operation failed or command syntax was not valid.

See Also

login(1), passwd(5), shells(5)

Author

Salvatore Valente <svalente@mit.edu>

Availability

The chsh command is part of the util-linux package and is available from ftp://ftp.kernel.org/pub/linux/utils/ut….

Referenced By

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).

July 2014 util-linux User Commands