Linux系統查看全部用戶命令

使用過 Linux 系統的同窗都知道,Windows 系統跟 Linux 系統是有很大差異的,就拿本篇文章即將要說的查看系統用戶來講,在 Windows 系統中查看用戶直接鼠標右擊電腦屬性,而後會有用戶和用戶組。而 Linux 是純命令行的,怎麼查找用戶呢?這就是本文須要說明的。centos

看過以前文章的朋友都是知道有專門說過 useradd 這個命令,這個命令就是專門新建用戶的。當咱們使用 useradd 這個命令新建用戶以後,/etc/passwd 就會存有這個用戶的相關信息,而且還有 /etc/shadow 這個文件會存放用戶密碼相關的信息。安全

image-20201128050226812

能夠看到,這兩個文件都是存放有用戶信息的,可是除了用戶信息以外還有一些其餘的內容,若是咱們只想瞭解用戶名該怎麼處理,那麼這就須要用到組合命令了,以下:bash

$ cat /etc/passwd | head -5 | cut -f1 -d:

image-20201128050715273

在上面的示例中, head 這個命令就是提取 /etc/passwd 文件的前五行內容。| 這個符號咱們把它叫作管道符,它的做用就是將前一個命令的輸出做爲後一個命令的輸入,這樣就很好理解上面的命令爲何只顯示前五行。以後咱們又用了 cut 這個命令,這個命令的做用就是截取的意思,-d 選項指定分隔符,這裏以 : 做爲分割,-f 指定列,也就是以冒號爲分隔符,截取第一列的內容,這一長串命令結合起來,就拿到了當前系統中全部已經建立的用戶名。服務器

咱們做爲 Linux 系統管理員,可能不少時候都須要查看當前系統中的活動用戶。甚至有時候須要知道這些用戶在作什麼,如下四種方法分享給你們:命令行

1. w

是的,這是一個字母但同時也是一個命令,w 這個命令的做用就是顯示當前已經登陸到系統中的用戶的名稱,以及目前有的操做。code

$ w
 07:16:05 up 3 days, 19:00,  2 users,  load average: 0.01, 0.08, 0.08
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    123.139.156.117  Thu22    0.00s  0.27s  0.00s w
root     pts/1    123.139.156.117  21:29    8:23m  0.02s  0.02s -bash

w 這個命令輸出的信息都是來自 /var/run/utmp 這個文件的。該命令的輸出信息能夠看到有不少列,分別是:blog

USER:表示用戶的名稱get

TTY:表示計算機終端設備博客

FROM:表示遠程主機的地址it

LOGIN@:系統登錄的時間

IDLE:登錄系統的空閒時間

WHAT:表示用戶正在使用的命令

2. who

這個命令從名字就能夠看出來它的做用,即打印當前登陸的用戶。

$ who
root     pts/0        2020-11-26 22:12 (123.139.156.117)
root     pts/1        2020-11-27 21:29 (123.139.156.117)

who 命令的輸出分別爲:登陸的用戶名、設備號、登陸的時間日期以及主機地址。一樣的,若是指向查看用戶列,那麼:

$ who | cut -d' ' -f1
root
root

有了開頭的相關介紹,相信這個組合命令你們也很好理解。

3. whoami

這個命令是否是看起來更直接,它的做用就是打印出當前正在登陸系統的用戶,只會顯示用戶名,沒有任何多餘的輸出。

$ whoami
root

image-20201128073949576

4. last

這個命令就比較厲害了,它能夠打印出曾經登錄或使用系統的用戶信息。若是不指定參數,默認會顯示全部登陸的歷史信息,通常這些信息所顯示的內容都來自 /var/log/wtmp 這個文件。

[user5@VM-4-10-centos ~]$ last
root     pts/1        123.139.156.117  Fri Nov 27 21:29   still logged in
root     pts/0        123.139.156.117  Thu Nov 26 22:12   still logged in
reboot   system boot  4.14.105-19-0016 Tue Nov 24 12:15 - 07:45 (3+19:29)
root     pts/0        111.206.145.26   Thu Sep 24 18:11 - 18:11  (00:00)
root     pts/0        111.206.145.26   Thu Sep 24 18:09 - 18:10  (00:01)
reboot   system boot  4.14.105-19-0016 Thu Sep 24 18:07 - 18:25  (00:18)
reboot   system boot  4.14.105-19-0016 Thu Sep 24 18:06 - 18:25  (00:19)
root     pts/0        111.206.145.26   Thu Sep 24 17:13 - crash  (00:52)

能夠看到,這個信息的輸出仍是蠻多列的,不用每一列都進行關注,能夠將重點放到第一列登陸的用戶上,還有遠程的地址以及登錄時間,還有最後兩列分別是登出的日期時間跟總共的一個工做時間,還有當前狀態的顯示,就好比我開了兩個終端且都是使用 root 用戶在登陸,所以在一直沒有登出的狀況就會題示 "still logged in" 的狀態。

本篇文章主要以查看 Linux 系統的用戶爲重點進行展開說明,Linux 系統通常都是用做服務器的,上面運行着比較重要的業務,必定保證其安全可靠,因此按期查看如下當前用戶登陸以及操做的狀況是頗有必要的。

本文由博客一文多發平臺 OpenWrite 發佈!

相關文章
相關標籤/搜索