Home / Knowledge Base / How to / How to List Users on Linux

How to List Users on Linux

Table of Contents

Managing users is a crucial part of system administration in Linux. Whether you’re setting up a new system or troubleshooting an existing one, knowing how to list users can be incredibly useful. This guide will walk you through the commands needed to list users on a Linux system, provide examples, and offer additional tips to help you manage user accounts more efficiently.

Linux systems can have multiple user accounts, and each account has its own unique user ID (UID) and home directory. Understanding how to list these users is fundamental for system administration tasks such as auditing, monitoring, and troubleshooting.

Listing All Users

Using the `/etc/passwd` File

The `/etc/passwd` file contains information about all the users on the system. Each line in this file represents a single user account.

Command:

cat /etc/passwd

Example:

$ cat /etc/passwd

root:x:0:0:root:/root:/bin/bash

user1:x:1001:1001::/home/user1:/bin/bash

user2:x:1002:1002::/home/user2:/bin/bash

Each line contains fields separated by colons (`:`). The fields represent the username, password placeholder, UID, GID, user description, home directory, and shell.

Using the `getent` Command

The `getent` command retrieves entries from administrative databases. To list all users, we can query the passwd database.

Command:

getent passwd

Example:

$ getent passwd

root:x:0:0:root:/root:/bin/bash

user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash

Listing Active Users

Using the `who` Command

The `who` command shows who is currently logged into the system.

Command:

who

Example:

$ who
user1 tty7 2023-10-14 09:12 (:0)

user2 pts/0 2023-10-14 09:15 (192.168.1.100)

Using the `w` Command

The `w` command provides a more detailed view of the active users and their activities.

Command:

w

Example:

$ w

09:36:29 up 1:24, 2 users, load average: 0.04, 0.06, 0.15

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

user1 tty7 :0 09:12 1.00s 0.07s 0.01s /usr/libexec/gnome-session-bin

user2 pts/0 192.168.1.100 09:15 20.00s 0.08s 0.00s sshd

Listing Last Logged-In Users

Using the `last` Command

The `last` command displays a list of the most recent login sessions.

Command:

last

Example:

$ last

user1 tty7 :0 Sat Oct 14 09:12 gone - no logout

user2 pts/0 192.168.1.100 Sat Oct 14 09:15 - 09:35 (00:20)

reboot system boot 4.15.0-151-generic Sat Oct 14 08:50 still running

Searching for Specific Users

Sometimes you might want to search for a specific user within the `/etc/passwd` file or using other commands.

Example using `grep`:

grep 'user1' /etc/passwd

Output:

user1:x:1001:1001::/home/user1:/bin/bash

Conclusion

Listing users on a Linux system is a fundamental task for administering and managing the system effectively. By using commands like `cat`, `getent`, `who`, `w`, and `last`, you can get a comprehensive view of both current and historical user activity.

For more detailed information and advanced user management tips, consider consulting additional resources or reaching out to the Linux community forums.

Happy Linux system administration!

G7 Acceleration Network

The G7 Acceleration Network boosts your website’s speed, security, and performance. With advanced full page caching, dynamic image optimization, and built-in PCI compliance, your site will load faster, handle more traffic, and stay secure. 

WordPress Hosting

Trusted by some of the worlds largest WooCommerce and WordPress sites, there’s a reason thousands of businesses are switching to G7