今天我們簡單介紹下在 Linux 系統中列出登入使用者的幾種方法。
#
在多用戶的 Linux 系統中,有時會有查詢目前已登入系統中使用者的需求。例如因某些原因要註銷某個用戶。
今天我們簡單介紹下在 Linux 系統中列出登入使用者的幾種方法。
在我們所介紹的這幾個方法中,幾乎所有指令都依賴存在於 /var 或 /proc 目錄中的資料。如果你對 Linux 中的目錄結構稍有了解,你就會知道這兩個目錄包含有關係統上正在運行的進程的資料。
1,使用 w 指令查看 Linux 系統中的登入使用者
這是個最簡單的方法,只需鍵入一個字母指令,即可查詢出目前系統中登入的使用者。
w
如下是 w 指令的輸出:
$ w 09:54:54 up 26 min, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 202.91.87.114 09:37 21.00s 0.00s 0.00s -bash abhi pts/1 202.91.87.114 09:47 0.00s 0.00s 0.00s w rohini pts/2 157.43.53.142 09:48 6:13 0.00s 0.00s -bash
我們對上面的輸出做個簡單的解釋,在其他指令中也會牽涉到這些。
在上述輸出中,TTY 顯示使用者使用者登入的終端訊息,其中 pts 表示偽終端從屬,即透過 ssh 連線登入的。
後面幾列分別顯示使用者電腦的 IP 位址、登入時間、空閒時間(idle)。
JCPU 是連接到 TTY 的所有進程所花費的時間,PCPU 是使用者執行的目前進程所用時間。 WHAT 一列即顯示目前進程。
2,使用 who 指令查看登入使用者
查詢登入用戶,who 指令也是一個常用的方法,而且使用起來也很簡單。
who
其輸出如下圖所示:
$ who root pts/0 Aug 6 09:37 (202.91.87.114) abhi pts/1 Aug 6 09:47 (202.91.87.114) rohini pts/2 Aug 6 09:48 (157.43.53.142)
3,使用 users 指令
上面的兩種方法,w 指令和 who 指令,都會顯示目前登入使用者的詳細資料(例如終端機、IP位址、登入時間等)。有時候你可能只想要其使用者名稱(例如要寫某個腳本),使用 w 或 who 指令後,還需要對其輸出進行解析,這是一個額外的工作。那麼,有沒有辦法只取得使用者的登入名稱呢?答案是肯定的,那就是使用 users 指令。如下圖所示:
$ users abhi rohini root
4,使用 finger 指令
finger 指令並沒有在所有 Linux 發行版中都預先安裝,所以在使用前需要手動安裝。例如在 Ubuntu 中可以使用以下指令安裝:
sudo apt install finger
安裝完成後,即可直接使用 finger 指令來查看目前系統中登入的使用者清單:
finger
其輸出如下圖所示:
$ finger Login Name Tty Idle Login Time Office Office Phone abhi Abhishek pts/1 Aug 6 09:47 (202.91.87.114) rohini Rohini Rachita pts/2 13 Aug 6 09:48 (157.43.53.142) root root *pts/0 Aug 6 09:37 (202.91.87.114)
其他:查看上次重啟後,都有誰登入了系統
上面我們介紹的方法是查詢目前正在登入系統中的用戶,那麼有沒有方式查詢都有誰登入過系統呢?
last 指令可以顯示系統自上次重新啟動以來,都有哪些使用者登入過系統(包括目前正在登入的,以及已經登出的使用者)。對於登出用戶,也顯示其登入時間和登出時間。
last
其輸出如下圖所示:
$ last rohini pts/3 157.43.53.142 Tue Aug 6 10:05 - 10:05 (00:00) rohini pts/2 157.43.53.142 Tue Aug 6 09:48 still logged in abhi pts/1 202.91.87.114 Tue Aug 6 09:47 still logged in root pts/0 202.91.87.114 Tue Aug 6 09:37 still logged in reboot system boot 4.15.0-52-generi Tue Aug 6 09:28 still running wtmp begins Tue Aug 6 09:28:43 2022
以上是Linux 系統中如何查看目前所有登入的用戶的詳細內容。更多資訊請關注PHP中文網其他相關文章!