使用過 Linux 系統的同窗都知道,Windows 系統跟 Linux 系統是有很大差異的,就拿本篇文章即將要說的查看系統用戶來講,在 Windows 系統中查看用戶直接鼠標右擊電腦屬性,而後會有用戶和用戶組。而 Linux 是純命令行的,怎麼查找用戶呢?這就是本文須要說明的。centos
看過以前文章的朋友都是知道有專門說過 useradd
這個命令,這個命令就是專門新建用戶的。當咱們使用 useradd
這個命令新建用戶以後,/etc/passwd
就會存有這個用戶的相關信息,而且還有 /etc/shadow
這個文件會存放用戶密碼相關的信息。安全
能夠看到,這兩個文件都是存放有用戶信息的,可是除了用戶信息以外還有一些其餘的內容,若是咱們只想瞭解用戶名該怎麼處理,那麼這就須要用到組合命令了,以下:bash
$ cat /etc/passwd | head -5 | cut -f1 -d:
在上面的示例中, head
這個命令就是提取 /etc/passwd
文件的前五行內容。|
這個符號咱們把它叫作管道符,它的做用就是將前一個命令的輸出做爲後一個命令的輸入,這樣就很好理解上面的命令爲何只顯示前五行。以後咱們又用了 cut
這個命令,這個命令的做用就是截取的意思,-d
選項指定分隔符,這裏以 :
做爲分割,-f
指定列,也就是以冒號爲分隔符,截取第一列的內容,這一長串命令結合起來,就拿到了當前系統中全部已經建立的用戶名。服務器
咱們做爲 Linux 系統管理員,可能不少時候都須要查看當前系統中的活動用戶。甚至有時候須要知道這些用戶在作什麼,如下四種方法分享給你們:命令行
是的,這是一個字母但同時也是一個命令,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:表示用戶正在使用的命令
這個命令從名字就能夠看出來它的做用,即打印當前登陸的用戶。
$ 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
有了開頭的相關介紹,相信這個組合命令你們也很好理解。
這個命令是否是看起來更直接,它的做用就是打印出當前正在登陸系統的用戶,只會顯示用戶名,沒有任何多餘的輸出。
$ whoami root
這個命令就比較厲害了,它能夠打印出曾經登錄或使用系統的用戶信息。若是不指定參數,默認會顯示全部登陸的歷史信息,通常這些信息所顯示的內容都來自 /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 發佈!