This article will show you eleven useful ways to find the information about users on a Linux system. Here we’ll describe commands to get a user’s account details, show login details as well as what users are doing on the system.
If you want to add users in Linux, use the useradd utility, and to modify or change any attributes of a already created user account, use the usermod via the command line as explained in the following guides:
We’ll start by looking at commands to find a user’s account information, then proceed to explain commands to view login details.
1. id Command
id is a simple command line utility for displaying a real and effective user and group IDs as follows.
$ id tecmint uid=1000(tecmint) gid=1000(tecmint) groups=1000(tecmint),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),130(sambashare)
2. groups Command
groups command is used to show all the groups a user belongs to like this.
$ groups tecmint tecmint : tecmint adm cdrom sudo dip plugdev lpadmin sambashare
3. finger Command
finger command is used to search information about a user on Linux. It doesn’t come per-installed on many Linux systems.
To install it on your system, run this command on the terminal.
$ sudo apt install finger #Debian/Ubuntu $ sudo yum install finger #RHEL/CentOS $ sudo dnf install finger #Fedora 22+
It shows a user’s real name; home directory; shell; login: name, time; and so much more as below.
$ finger tecmint Login: tecmint Name: TecMint Directory: /home/tecmint Shell: /bin/bash On since Fri Sep 22 10:39 (IST) on tty8 from :0 2 hours 1 minute idle No mail. No Plan.
4. getent Command
getent is a command line utility for fetching entries from Name Service Switch (NSS) libraries from a specific system database.
To get a user’s account details, use the passwd database and the username as follows.
$ getent passwd tecmint tecmint:x:1000:1000:TecMint,,,:/home/tecmint:/bin/bash
5. grep Command
grep command is a powerful pattern searching tool available on most if not all Linus systems. You can use it to find information about a specific user from the system accounts file: /etc/passwd as shown below.
$ grep -i tecmint /etc/passwd tecmint:x:1000:1000:TecMint,,,:/home/tecmint:/bin/bash
6. lslogins Command
lslogins command shows information about known users in the system, the
-u flag only displays user accounts.
$ lslogins -u UID USER PROC PWD-LOCK PWD-DENY LAST-LOGIN GECOS 0 root 144 root 1000 tecmint 70 10:39:07 TecMint,,, 1001 aaronkilik 0 1002 john 0 John Doo
7. users Command
users command shows the usernames of all users currently logged on the system like so.
$ users tecmint aaron
8. who Command
who command is used to display users who are logged on the system, including the terminals they are connecting from.
$ who -u tecmint tty8 2017-09-22 10:39 02:09 2067 (:0)
9. w Command
w command shows all users who are logged on the system and what they are doing.
$ w 12:46:54 up 2:10, 1 user, load average: 0.34, 0.44, 0.57 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT tecmint tty8 :0 10:39 2:10m 4:43 0.46s cinnamon-sessio
10. last or lastb commands
last/lastb commands displays a list of last logged in users on the system.
$ last OR $ last -a #show hostname on the last column
tecmint tty8 Fri Sep 22 10:39 gone - no logout :0 reboot system boot Fri Sep 22 10:36 still running 4.4.0-21-generic tecmint tty8 Thu Sep 21 10:44 - down (06:56) :0 reboot system boot Thu Sep 21 10:42 - 17:40 (06:58) 4.4.0-21-generic tecmint tty8 Wed Sep 20 10:19 - down (06:50) :0 reboot system boot Wed Sep 20 10:17 - 17:10 (06:52) 4.4.0-21-generic tecmint pts/14 Tue Sep 19 15:15 - 15:16 (00:00) tmux(14160).%146 tecmint pts/13 Tue Sep 19 15:15 - 15:16 (00:00) tmux(14160).%145 ...
To show all the users who were present at a specified time, use the
-p option as follows.
$ last -ap now tecmint tty8 Fri Sep 22 10:39 gone - no logout :0 reboot system boot Fri Sep 22 10:36 still running 4.4.0-21-generic wtmp begins Fri Sep 1 16:23:02 2017
11. lastlog Command
lastlog command is used to find the details of a recent login of all users or of a given user as follows.
$ lastlog OR $ lastlog -u tecmint #show lastlog records for specific user tecmint
Username Port From Latest root **Never logged in** kernoops **Never logged in** pulse **Never logged in** rtkit **Never logged in** saned **Never logged in** usbmux **Never logged in** mdm **Never logged in** tecmint pts/1 127.0.0.1 Fri Jan 6 16:50:22 +0530 2017 ..
That’s it! If you know any other command-line trick or command to view user account details do share with us.
You’ll find these related article so useful:
- How to Manage Users and Groups in Linux
- How to Delete User Accounts with Home Directory in Linux
- 3 Ways to Change Default User Shell in Linux
- How to Block or Disable User Logins in Linux
In this article, we’ve explained various ways to find information about users and login details on a Linux system. You can ask any questions or share your thoughts via the feedback form below.