Ubuntu 中登入相關的日誌

2021-09-22 09:30:57 字數 3054 閱讀 4664

登入相關的日誌涉及到系統的安全,所以是系統管理中非常重要的一部分內容。本文試圖對登入相關的日誌做乙個整理。

這是乙個文字檔案,記錄了所有和使用者認證相關的日誌。無論是我們通過 ssh 登入,還是通過 sudo 執行命令都會在 auth.log 中產生記錄。執行

上圖顯示日誌記錄了通過秘鑰認證的方式登入主機並退出的過程。

再執行下面的命令試試:

日誌同樣會詳細的記錄本次 sudo 操作的過程。從中我們可以看到是哪個使用者通過 sudo 執行了什麼命令!

這是乙個二進位制檔案,所以不能直接通過文字編輯器檢視其內容。

它記錄當前登入的每個使用者的資訊。因此這個檔案會隨著使用者登入和登出系統而不斷變化,它只保留當時聯機的使用者記錄,不會為使用者保留永久的記錄。系統中需要查詢當前使用者狀態的程式,如 who、w、users 等就需要訪問這個檔案。

這是乙個二進位制檔案,所以不能直接通過文字編輯器檢視其內容。

該日誌檔案永久記錄每個使用者登入、登出及系統的啟動、停機的事件。因此隨著系統正常執行時間的增加,該檔案的大小也會越來越大,增加的速度取決於系統使用者登入的次數。該日誌檔案可以用來檢視使用者的登入記錄,last 命令就通過訪問這個檔案獲得這些資訊。

這是乙個二進位制檔案,所以不能直接通過文字編輯器檢視其內容。

這個檔案記錄的是所有失敗的登入嘗試,使用 last 命令及其 -f 選項可以檢視這個檔案的內容:

這是乙個二進位制檔案,所以不能直接通過文字編輯器檢視其內容。

它會記錄系統中所有使用者最近一次登陸的資訊。比如我們通過 ssh 登入時提示的此使用者最後一次的登入時間,就是從這個檔案中取出的:

其實這個檔案的主要使用者是 lastlog 命令。

特別是 /var/run/utmp、/var/log/wtmp 和 /var/log/lastlog 這三個檔案,它們都是日誌系統中的關鍵檔案,並且具有如下的邏輯聯絡:

當乙個使用者登入系統時,login 程式在 lastlog 檔案中檢視使用者的 uid。如果該使用者存在,就把該使用者上次登入、登出的時間以及從哪個主機登入的資訊寫到標準輸出中。然後 login 程式在 lastlog 中記錄新的登入時間,並開啟 utmp 檔案新增使用者本次的登入記錄。接下來,login 程式開啟 wtmp 檔案並新增使用者在 utmp 檔案中的記錄。當使用者退出時會把更新的 utmp 檔案中的記錄新增到 wtmp 檔案中,並從 utmp 檔案中刪除使用者的記錄。

我們可以看到除了 auth.log 檔案,其它幾個檔案都是二進位制檔案,因而不能使用 less 之類的命令直接檢視。下面我們來介紹和登入相關的一些命令,其實它們幾乎都是通過查詢這些日誌檔案來提供資訊的。

lastlog 命令用來顯示系統中所有使用者最近一次登陸的資訊:

圖中顯示的只是完整列表的一部分,**never logged in** 表示該使用者從來沒有登陸過。如果要檢視某個使用者的最後登陸資訊,可使用 -u 選項:

其實 lastlog 命令就是從 /var/log/lastlog 檔案中取出的內容。

last 命令用來顯示使用者最近登入的資訊。執行 last 命令,它會讀取 /var/log/wtmp 檔案的內容。並把該檔案記錄的使用者登入歷史全部顯示出來:

資訊記錄了誰在什麼時間從**登入了伺服器,登入了多長時間。需要注意的是系統中的 wtmp 日誌檔案經常會**轉,所以有時你需要顯式的指定 last 命令從哪個檔案中讀取資訊:

如果我們想快速知道系統最後一次的重啟時間,可以使用下面的命令:

who 命令通過查詢 /var/run/utmp 檔案來顯式系統中當前登入的每個使用者。預設的輸出包括使用者名稱、終端型別、登入日期及遠端主機:

如果能夠查詢到當前登入系統的使用者都在幹什麼是不是一件令人很興奮的事情呢!使用 w 命令就可以做到:

我們可以看到使用者 nick 同時登入了兩個終端,在其中乙個終端中執行了 w 命令,而在另乙個終端中正通過 vim 編輯  /etc/passwd 檔案!

其實 w 命令是先通過查詢 utmp 檔案獲得當前登入的使用者,然後顯示每個使用者和它所執行的程序資訊。

users 命令用單獨的一行列印出當前登入的使用者,每個顯示的使用者名稱對應乙個登入會話。如果乙個使用者有不止乙個登入會話,那他的使用者名將顯示多次:

因為 nick 通過三個終端登入了主機,所以在同一行中名字出現了三次。

本文整理了 ubuntu 系統中常見的一些與登入相關的檔案和命令。通過它們可以快速的檢視當前使用者的登入情況和所有使用者登入登出的歷史記錄,並且可以查詢到使用者使用 root 許可權執行的操作。這對我們維護系統的安全和使用者的管理都非常有幫助。

linux基礎 登入相關知識

終shell命令提示符 3.1.ps1 3.2.顏色 登入相關檔案 4.1.etc issue 4.2.etc motd 4.3.etc gdm custom.conf 4.4.提示命令wall root centos7 tty dev pts 2物理終端 虛擬終端 tty teletypewrit...

檢視使用者登入相關命令

last作用是顯示近期使用者或終端的登入情況。通過last命令檢視該程式的log,管理員可以獲知誰曾經或者企圖連線系統。執行last命令時,它會讀取 var log目錄下名稱為wtmp的檔案,並把該檔案記錄的登入系統或終端的使用者名單全部顯示出來。預設顯示wtmp的記錄,btmp能顯示的更詳細,可以...

Apache 日誌記錄相關設定

apache 自動生成的日誌會給系統帶來很大的損耗。關閉日誌以後,甚至最高可以提高整體效能近40 粗略估計 那麼如何關閉日誌呢?可以通過降低log級別的辦法來減少日誌讀寫。這裡要提醒的是,這麼做將給 入侵檢測 以及其他基於日誌分析的工作帶來麻煩。所以請謹慎使用。loglevel control th...