原文
last命令用於顯示用戶最近登錄信息。單獨執行last命令,它會讀取/var/log/wtmp
的文件,並把該給文件的內容記錄的登入系統的用戶名單全部顯示出來
語法
last(選項)(參數)
選項
-a:把從何處登入系統的主機名稱或ip地址,顯示在最后一行; -d:將IP地址轉換成主機名稱; -f <記錄文件>:指定記錄文件。 -n <顯示列數>或-<顯示列數>:設置列出名單的顯示列數; -R:不顯示登入系統的主機名稱或IP地址; -x:顯示系統關機,重新開機,以及執行等級的改變等信息。
參數
- 用戶名:顯示用戶登錄列表;
- 終端:顯示從指定終端的登錄列表。
實例
last命令用了顯示用戶登錄情況,以下是直接顯示固定行數的記錄:
last -10 root pts/0 221.6.45.34 Tue Dec 17 09:40 still logged in root pts/0 221.6.45.34 Mon Dec 16 09:00 - 11:57 (02:56) root pts/0 222.94.97.122 Sun Dec 15 20:39 - 23:28 (02:48) root pts/0 222.95.209.80 Sat Dec 14 14:39 - 14:58 (00:18) root pts/0 221.6.45.34 Thu Dec 12 16:55 - 17:37 (00:41) root pts/0 49.65.139.195 Wed Dec 11 20:40 - 21:16 (00:35) root pts/0 49.65.139.195 Wed Dec 11 19:46 - 20:03 (00:17) root pts/0 221.6.45.34 Tue Dec 10 14:41 - 15:52 (01:10) root pts/0 221.6.45.34 Mon Dec 9 17:24 - 17:30 (00:06) root pts/0 221.6.45.34 Mon Dec 9 09:38 - 11:41 (02:02)
詳解:
last命令-->列出截止目前登錄過系統的用戶信息;是Linux內置的審計跟蹤工具
last指令時,它會讀取位於/var/log/wtmp的文件,並把該給文件的內容記錄的登錄系統的用戶名單全部顯示出來
last信息解讀
第一列信息:用戶名,或者顯示reboot(啟動或者重啟操作在這里會記錄成reboot)
第二列信息:終端位置,pts/0 (偽終端或虛擬終端) 意味着從諸如SSH或telnet的遠程連接的用戶。
tty (teletypewriter) 意味着直接連接到計算機或者本地連接的用戶,如果是啟動或者重啟操作,這里會顯示成system boot
第三列信息:登錄ip或者內核,如果你看見:0.0 或者什么都沒有,這意味着用戶通過本地終端連接。
也有在狀態中顯示內核版本的信息,筆者猜測這些記錄應該是屬於系統的操作,如開機,關機,重啟等操作
第四列信息:開始時間,其中的日期格式為date +"%a %b %d"
第五列信息:結束時間(still login in 還未退出 down 直到正常關機 crash 直到強制關機)
第六列信息:持續時間
【備注一】關於last命令的幾點說明:
1. wtmp,btmp,utmp均為二進制文件,不能用cat查看,可用last打開
2. echo > /var/log/wtmp 可清空wtmp記錄
【備注二】Linux系統的三個主要日志子系統:
1. 進程日志(acct/pacct: 記錄用戶命令)
2. 錯誤日志(/var/log/messages:系統級信息;access-log:記錄HTTP/WEB的信息)
3. 連接日志(/var/log/wtmp,/var/log/btmp,/var/run/utmp)
>>>有關當前登錄用戶的信息記錄在文件utmp中;
>>>登錄進入和退出紀錄在文件wtmp中;
>>>最后一次登錄文件可以用lastlog命令察看;
>>>數據交換、關機和重起也記錄在wtmp文件中;