There are 2 types of users in Linux, system users that are created by default with the system and regular users, created by the system administrator. There are different ways to get information about these users and in this article, you will learn about how to list users on Ubuntu 20.04.
Users are stored in a text file on the system called passwd
file. This file is located in the /etc
directory.
In this file, you can find all the information about the users in the system.
Local user information is stored in the /etc/passwd file. Each line in this file represents login information for a user.
So, a quick and accurate way to list all users of the system is to run the cat or less command on this file. Please, open the terminal from the main menu and run
less /etc/passwd
You will get a screen output similar to this:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/
nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/
nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/
nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/
nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/
nologin
news:x:9:9:news:/var/spool/news:/usr/
sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/
sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/
sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/
sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:
/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/
nologin
As you can see in the output above, each line has seven delimited fields containing the following information:
This information is quite complete but may be unnecessary in many cases. If you want to just show the names of the users without more, you can run
cut -d: -f1 /etc/passwd
Sample Output:
systemd-timesync
Now you only have the usernames and the information is much easier to understand.
Now that we know how to list all the users and show all the information about them. It's time to check if a user exists in our Ubuntu. To do this we can filter the list of users thanks to the grep
command.
cat /etc/passwd | grep [username]
If the execution of the previous command does not produce any screen output, then the user does not exist. If you see his information, then it does.
Another way to list users on Ubuntu 20.04 and other Linux distributions is by using the getent command
The getent
command displays entries from databases supported by the Name Service Switch libraries, which are configured in /etc/nsswitch.conf
So, it is very simple to use
getent passwd
And you will get the same screen output as in the first example.
Even though the output on the screen is the same, we prefer to use this tool instead of working directly with the passwd
file.
Now you know how to get users information in your Ubuntu Shell and the process is quite simple.