How to view current logged in users in linux ?
Today we will look various different ways to view current logged in users in linux.
The user login data is usually saved and read from /var/run/utmp file.
Lets see different command which read this binary file and display data.
Logged In Users Details on Linux
1. w command
w is most widely used and handy command available on most of linux distributions.
### see all currently logged in users [root@nglinux ~]# w 00:53:21 up 5:33, 7 users, load average: 0.08, 0.02, 0.01 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT nglinux tty1 :0 19:23 5:33m 9.97s 0.14s pam: gdm-password nglinux pts/0 :0.0 19:24 5:29m 0.00s 0.00s bash nglinux pts/1 :0.0 19:24 5:29m 0.00s 0.00s bash nglinux pts/2 :0.0 19:24 5:28m 0.13s 0.12s Terminal nglinux pts/3 :0.0 19:24 5:29m 0.00s 0.00s bash root pts/4 172.21.49.223 19:25 0.00s 0.08s 0.01s w root pts/5 172.21.49.223 20:13 3:06m 0.05s 0.05s -bash [root@nglinux ~]# ### Get information about a specific user say root. [root@nglinux ~]# w root 00:57:12 up 5:37, 7 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/4 172.21.49.223 19:25 0.00s 0.08s 0.00s w root root pts/5 172.21.49.223 20:13 3:10m 0.05s 0.05s -bash [root@nglinux ~]#
2. who command
[root@nglinux ~]# who nglinux tty1 May 30 19:23 (:0) nglinux pts/0 May 30 19:24 (:0.0) nglinux pts/1 May 30 19:24 (:0.0) nglinux pts/2 May 30 19:24 (:0.0) nglinux pts/3 May 30 19:24 (:0.0) root pts/4 May 30 19:25 (172.21.49.223) root pts/5 May 30 20:13 (172.21.49.223) [root@nglinux ~]# ### who -a shows all available details with logged in users ### it includes details with options -bdlprTtu. ### -b Time of last system boot. ### -d Print dead processes. ### -l Print system login processes (unsupported). ### -p Print active processes spawned by launchd(8) (unsupported). ### -r Print the current runlevel. ### -T Print a character after the user name indicating the state of the terminal line: `+' if the terminal is writable; `-' if it is not; and `?' if a bad line is encountered. ### -t Print last system clock change (unsupported). ### -u Print the idle time for each user, and the associated proces [root@nglinux ~]# who -a system boot May 30 19:19 run-level 5 May 30 19:19 LOGIN tty2 May 30 19:19 2226 id=2 LOGIN tty3 May 30 19:19 2228 id=3 LOGIN tty4 May 30 19:19 2234 id=4 LOGIN tty5 May 30 19:19 2236 id=5 LOGIN tty6 May 30 19:19 2240 id=6 nglinux + tty1 May 30 19:23 old 2423 (:0) nglinux + pts/0 May 30 19:24 05:32 4034 (:0.0) nglinux + pts/1 May 30 19:24 05:32 4034 (:0.0) nglinux + pts/2 May 30 19:24 05:31 4034 (:0.0) nglinux + pts/3 May 30 19:24 05:32 4034 (:0.0) root + pts/4 May 30 19:25 . 4137 (172.21.49.223) root + pts/5 May 30 20:13 03:09 4271 (172.21.49.223) [root@nglinux ~]#
3. Users command
It also reads all information from /var/run/utmp file.
### Shows usernames of all logged in users. [root@nglinux ~]# users nglinux nglinux nglinux nglinux nglinux root root
4. whoami command
### Shows currently Logged in User [root@nglinux ~]# whoami root
5. id command
### Id command shows current logged in user id with username. ### however shows only current user details. [root@nglinux ~]# id -a uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023