How/Command to change the login shell for a user – Unix/Linux

We have already discussed one method to change the login shell of a user by changing the shell value in /etc/passwd file by using the command USERMOD. Shell is a program that takes your commands from the keyboard and gives them to the operating system to perform. Here I am explaining one another simple method to change the login shell of a user with help of the command ‘chsh‘.

All shells are listed in /etc/shells, see the example below:

[email protected] [~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/usr/local/cpanel/bin/jailshell
/bin/ftpsh
/usr/local/cpanel/bin/noshell

The ‘chsh‘ command usage with examples:
Syntax:

# chsh [options] [user]

Switches:
1, -s, –shell
Specify your login shell.

2, -l, –list-shells
Print the list of shells listed in /etc/shells and exit.

3, -u, –help
Print a usage message and exit.

4, -v, –version
Print version information and exit.

How to change the login shell of a user?
Syntax:

# chsh -s /new/shell username

Example:

[email protected] [~]# grep crybit /etc/passwd
crybit:x:32011:32012::/home/crybit:/bin/bash
------
[email protected] [~]# chsh -s /sbin/nologin crybit
Changing shell for crybit.
Shell changed.
------
[email protected] [~]# grep crybit /etc/passwd
crybit:x:32011:32012::/home/crybit:/sbin/nologin

That’s it !!! 🙂

Related Links:
Command to find out the current shell
[USERMOD]How to change the shell for an already existing user – Unix/Linux
The usermod

Arunlal Ashok

Linux Server Administrator. I'm dealing with Linux servers since 2012. I started this blog to share and discuss my ideas with the world. Check My Profile!! in uPwork (oDesk) and let me know if you need any assistance. Thanks!!

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *