黑客造訪了你的服務器,卻忘清除痕跡,一指令立馬鎖定

引言

如果你管理的是多用戶系統,則通常需要知道哪個用戶、什麼時間、從何處登錄到該計算機。last是一個命令行實用程序,它顯示有關係統用戶上次登錄會話的信息。

當你需要跟蹤用戶活動或調查可能的安全漏洞時,它非常有用。本文介紹如何使用last命令審查登錄到系統的人員。

黑客造訪了你的服務器,卻忘清除痕跡,一指令立馬鎖定

基本用法

last命令的參數結構如下

<code>last [OPTIONS] [USER] [...]/<code>

每次用戶登錄系統時,該會話的記錄都會寫入/var/log/wtmp文件。last讀取文件wtmp文件並打印有關用戶登錄和註銷的信息。記錄以時間的倒序排列打印,從最近的記錄開始。

在不帶任何選項或參數的情況下調用last時,輸出如下所示:

<code>mark     pts/0        10.10.0.7   Fri Feb 21 21:23   still logged in
mark pts/0 10.10.0.7 Tue Feb 18 22:34 - 00:05 (01:31)
lisa :0 :0 Thu Feb 13 09:19 gone - no logout
reboot system boot 4.15.0-74-g Fri Jan 24 08:03 - 08:03 (00:00)
.../<code>

輸出的每行從左到右包含以下列:

  • 用戶名:當系統重啟或關機時,最後顯示特殊用戶重啟和關機。
  • 會話在其上進行的tty:0通常表示用戶正在登錄桌面環境。
  • 用戶登錄時使用的IP地址或主機名。
  • 會話開始和停止時間。
  • 會話週期。如果會話仍處於活動狀態或用戶未註銷,則last將顯示有關該會話的信息,而不是顯示持續時間。

要將輸出限制為特定用戶或tty,請將用戶名或tty作為參數傳遞給最後一個命令:

<code>last mark
last pts/0/<code>


last命令選項

last接受多個選項,允許你限制、格式化和篩選輸出。在本節中,我們將介紹最常見的用法。

要指定要在命令行上打印的行數,只需傳遞 減號 + 數字。例如,要僅打印最後10個登錄會話,你可以鍵入:

<code>last -10/<code>

使用-p(--present)選項,可以找出在特定日期登錄系統的人員。

<code>last -p 2020-03-15/<code>

使用-s(--since)和-t(--until)選項告訴last顯示從指定時間開始或到指定時間為止的行。這兩個選項通常一起用於定義要檢索信息的時間間隔。

例如,要顯示從3月13日到3月18日的登錄記錄,你可以運行:

<code>last -s 2020-03-13 -u 2020-03-18/<code>

傳遞給-p、-s和-t選項的時間可以用以下格式指定:

黑客造訪了你的服務器,卻忘清除痕跡,一指令立馬鎖定

默認情況下,last不顯示秒和年份。使用-F,--fulltime選項查看完整登錄和註銷時間和日期:

<code>last -F/<code>

-i(--ip)選項強制last始終顯示IP地址,-d(--dns)強制顯示主機名:

<code>last -i/<code>


寫在最後

last命令打印有關用戶登錄和註銷時間的信息,更多信息,請man last查看幫助手冊。

比起手動查詢日誌方便太多了。

Happy coding :-)


我是 @程序員小助手 ,持續分享編程故事,歡迎關注。


分享到:


相關文章: