誰,何時,何地?良好的安全實踐表明,您應該知道誰正在訪問您的Linux計算機。我們教你怎麼做。
Linux和其他類似Unix的作業系統(如MacOS)非常擅長日誌記錄。在系統內部的某個地方,有一個日誌記錄著你能想到的一切。我們感興趣的日誌檔案叫做wtmp。“w”可能代表“when”或“who”——似乎沒有人同意。“tmp”部分可能代表“臨時”,但也可能代表“時間戳”
我們知道的是,wtmp是一個日誌,它捕獲並記錄每個登入和登出事件。審查wtmp日誌中的資料是對系統管理職責採取安全措施的基本步驟。對於一個典型的家庭電腦,從安全的角度來看,它可能不是那麼重要,但它是有趣的,能夠審查您的計算機的組合使用。
與Linux中許多基於文字的日誌檔案不同,wtmp是一個二進位制檔案。要訪問其中的資料,我們需要使用為該任務設計的工具。
那個工具是最後的命令。
最後一個命令從wtmp日誌讀取資料並在終端視窗中顯示。
如果鍵入last並按Enter鍵,它將顯示日誌檔案中的所有記錄。
last來自wtmp的每條記錄都顯示在終端視窗中。
從左到右,每行包含:
最後一行告訴我們日誌中最早記錄的會話的日期和時間。
每次啟動計算機時,都會將虛擬使用者“reboot”的登入條目輸入到日誌中。終端欄位將替換為核心版本。這些條目的登入會話的持續時間表示計算機的執行時間。
單獨使用最後一個命令會生成整個日誌的轉儲,其中大部分會快速透過終端視窗。仍然可見的部分是日誌中最早的資料。這可能不是你想看到的。
您可以告訴last為您提供特定數量的輸出行。透過在命令列上提供所需的行數來實現這一點。注意連字元。要檢視五行,需要鍵入-5而不是5:
last -5這將給出日誌的前五行,這是最新的資料。
d(域名系統)選項告訴last嘗試將遠端使用者的IP地址解析為機器名或網路名。
last -dlast並不總是能夠將IP地址轉換為網路名稱,但是該命令會在可能的時候這樣做。
如果您對IP地址或網路名稱不感興趣,請使用-R(無主機名)選項取消顯示此欄位。
因為這樣可以提供更整潔的輸出,而且沒有難看的包裝,所以在下面的所有示例中都使用了此選項。如果使用last試圖識別異常或可疑活動,則不會抑制此欄位。
可以使用-s(since)選項將輸出限制為僅顯示自特定日期以來發生的登入事件。
如果您只想檢視從2019年5月26日開始發生的登入事件,可以使用以下命令:
last -R -s 2019-05-26輸出顯示從指定日期的00:00到日誌檔案中最新記錄的登入事件記錄。
可以使用-t(until)指定結束日期。這允許您選擇在兩個感興趣的日期之間發生的一組登入記錄。
此命令要求last檢索並顯示從26日00:00(黎明)到27日00:00(黎明)的登入記錄。這將列表縮小到僅在26日進行的登入會話。
在-s和-t選項中可以使用時間和日期。
可以與使用日期和時間的最後一個選項一起使用的不同時間格式是(據稱):
為什麼“據稱”?
在本文的研究過程中,列表中的第二和第三種格式不起作用。這些命令在Ubuntu、Fedora和Manjaro發行版上進行了測試。它們分別是Debian、RedHat和Arch分佈的導數。它涵蓋了Linux發行版的所有主要系列。
last -R -s 2019-05-26 11:00 -t 2019-05-27 13:00如您所見,該命令根本沒有返回任何記錄。
使用列表中與上一個命令具有相同日期和時間的第一個日期和時間格式將返回記錄:
last -R -s 20190526110000 -t 20190527130000您還可以指定相對於當前日期和時間以分鐘或天為單位的時段。這裡我們要的是兩天前到一天前的記錄。
last -R -s -2days -t -1days你可以用昨天和明天作為昨天日期和今天日期的速記。
last -R -s yesterday -t today並不是說這不包括今天的任何記錄。這是預期的行為。該命令要求從開始日期到結束日期的記錄。它不包括結束日期內的記錄。
“現在”選項是“當前時間的今天”的簡寫形式。要檢視從00:00(黎明)到發出命令時發生的登入事件,請使用以下命令:
last -R -s today -t now這將顯示當前的所有登入事件,包括那些仍然登入的事件。
p(present)選項允許您找出某個時間點登入的使用者。
它們何時登入或登出並不重要,但是如果它們在您指定的時間登入到計算機,它們將包含在列表中。
如果您指定了一個沒有日期的時間,則假定您的意思是“今天”
last -R -p 09:30仍然登入的使用者(顯然)沒有登出時間;他們被描述為仍然登入。如果計算機在您指定的時間之後沒有重新啟動,它將被列為仍在執行。
如果將now速記與-p(present)選項結合使用,則可以在發出命令時找出登入的使用者。
last -R -p now這是一個有點冗長的方式來實現什麼可以完成使用世界衛生組織的命令。
相關:如何在Linux中確定當前使用者帳戶
lastb命令值得一提。它從名為btmp的日誌中讀取資料。關於這個日誌名,大家有了更多的共識。“b”代表壞,但“tmp”部分仍有爭議。
lastb列出了錯誤的(失敗的)登入嘗試。它接受與上次相同的選項。因為它們是失敗的登入嘗試,所以它們的登入時間都是00:00。
你必須用sudo和lastb。
sudo lastb -R知道誰已登入到您的Linux計算機,以及何時從何處登入是有用的資訊。將此與失敗登入嘗試的詳細資訊結合起來,可以幫助您調查可疑行為的第一步。
... 本課程將帶您瞭解Linux的“如何”和“為什麼”,並展示各種Linux命令的工作方式、它們的真實結構以及記住這些命令的正確方法。 ...
...bash是什麼、不同的模式(互動式和非互動式)以及它是如何產生的基礎知識開始,這個站點提供了一個全面的背景知識來幫助您理解命令列的機制。 ...
如果您希望更多地使用Linux終端,那麼學習如何手動裝載和解除安裝硬碟是一個簡單的開始。此外,如果你發現自己處於一種讓你遠離傳統桌面的境地,學習如何這樣做可能會節省很多時間和谷歌搜尋。 ...
... 我們已經介紹瞭如何在Windows和Mac上隱藏檔案和資料夾。下面介紹如何在Linux上使用終端和Ubuntu中的檔案管理器Nautilus隱藏檔案和資料夾。我們還將討論幾種安全地隱藏檔案和資料夾的方法...
Linux中有幾種不同的應用程式和命令可以為您建立新檔案,即使不啟動應用程式。使用哪種方法取決於檔案的用途。讓我們看看這些選項,這樣您就可以知道哪一個對您最有用。 ...
...版本可以讓您對安全更新做出重要決定。我們將向您展示如何找到這些,無論您使用哪個發行版。 滾動和點釋放 你知道你在執行哪個版本的Linux嗎?你能找到核心版本嗎?Linux的滾動發行版,如Arch、Manjaro和openSUSE,經常使用自...
Linux上有多種型別的環境變數。瞭解如何檢視它們,為本地和遠端登入建立它們,並使它們在重新啟動後仍然有效。 環境變數的工作原理 啟動終端視窗及其內部的shell時,會引用一組變數,以確保shell配置正確。這些變數還確...
...還可以顯著加快在命令列上導航目錄的過程。我們將教你如何使用它們。 什麼是推送和彈出(pushd and popd)? BillJoy在其1978年的C Shell中的創新之一是目錄堆疊的概念和操作方法:pushd和popd。模仿是最真誠的奉承,目錄堆疊、pushd...