要查看linux系統中的用戶登錄記錄,可使用last和lastlog命令。1. last命令用于查看所有用戶的最近登錄、登出及系統重啟記錄,讀取/var/log/wtmp文件,支持按用戶名查詢(如last username)和限制輸出條目(如last -n 5),能顯示登錄方式(如ssh或本地終端)及具體時間;2. lastlog命令用于查看每個用戶的最后一次登錄信息,讀取/var/log/lastlog文件,適合快速識別用戶最后活動狀態及潛在閑置賬戶,可通過lastlog -u指定用戶查詢;3. 兩者區別在于,last側重詳細歷史行為,適用于排查異常登錄,而lastlog適合整體賬戶狀態檢查,便于賬戶清理與權限審核。掌握這兩個命令有助于系統運維和安全審計。
linux系統中,查看用戶登錄記錄是運維或安全審計中的常見需求。如果想知道誰在什么時候登錄過系統,用什么方式登錄的,last和lastlog這兩個命令非常實用。它們能提供詳細的登錄歷史信息,而且使用簡單。
last 命令:查看最近的登錄記錄
last 命令主要用于查看系統中用戶的最近登錄與登出記錄,包括系統重啟的時間點等信息。它讀取的是 /var/log/wtmp 文件的內容。
常用方法:
-
直接輸入 last,會列出所有用戶的登錄、登出時間以及來源IP或終端:
$ last user1 pts/0 192.168.1.100 Tue Mar 26 14:30 - 15:00 (00:30) reboot system boot 5.4.0-147 Tue Mar 26 10:00 - 16:00 (06:00)
-
想查某個特定用戶的記錄?加上用戶名就行:
$ last username
-
只想看最近幾條?可以加 -n 參數限制輸出行數:
$ last -n 5
一些小細節:
- 如果看到 pts/0,說明是通過SSH遠程登錄。
- 出現 tty1 這樣的記錄,表示是本地終端登錄。
- reboot 和 shutdown 的記錄也能看到,對排查問題有幫助。
lastlog 命令:查看每個用戶的最后一次登錄
如果你只是想快速知道每個用戶最后一次登錄的時間、地點和方式,lastlog 是更合適的選擇。它讀取的是 /var/log/lastlog 文件。
基本用法:
-
輸入 lastlog 會列出所有用戶的最后一次登錄信息:
$ lastlog Username Port From Latest root tty1 Tue Mar 26 09:00:00 +0800 2024 user1 pts/0 192.168.1.100 Tue Mar 26 14:30:00 +0800 2024
-
指定用戶查看:
$ lastlog -u username
注意點:
- 如果一個用戶從未登錄過,這里可能顯示空白或者很久遠的日期。
- 對于長期未使用的賬戶,這個命令可以幫助識別潛在的安全風險。
兩個命令的區別與適用場景
雖然 last 和 lastlog 都用于查看登錄記錄,但它們各有側重:
- last 更適合查看歷史登錄行為,比如排查異常登錄時間、頻繁連接斷開等情況。
- lastlog 更適合一次性查看所有用戶的最后登錄狀態,適用于賬戶清理或權限檢查。
舉個例子:
- 安全審計時想看看有沒有人在非工作時間登錄服務器 → 用 last
- 想確認哪些賬號長期沒用了 → 用 lastlog
基本上就這些。掌握好這兩個命令,再配合日志分析工具,就能很好地了解系統的登錄情況了。