Linux last 命令


簡介

在 Linux 中,"last" 命令用於顯示先前登入到系統的使用者列表。此命令對於需要跟蹤伺服器上使用者活動的系統管理員特別有用。last 命令可以顯示各種資訊,包括訪問日期和時間、會話持續時間以及用於訪問系統的終端或裝置。

選項和語法

last 命令的基本語法如下所示:

$ last [options] [username]

last 命令可用的選項包括:

-a − 在輸出中顯示系統的主機名。

-d − 顯示主機的 DNS 名稱而不是 IP 地址。

-f − 使用指定的檔案作為資料來源,而不是預設檔案。

-i − 顯示主機的 IP 地址而不是主機名。

-n − 限制輸出的行數。

-R − 以反向 DNS 格式列印系統的 hostname 和 IP 地址。

-x − 在輸出中顯示系統重啟訊息。

概述

在管理多使用者系統時,您通常需要有關登入活動的詳細資訊。在本教程中,我們將透過一個示例學習如何使用“last”“lastb” 命令獲取登入資訊。

last 和 lastb 簡介

last 命令顯示最近登入使用者的相關資訊。當我們需要跟蹤登入活動或調查潛在的安全漏洞時,它非常方便和有用。last 命令預設情況下會將系統日誌檔案“/var/log/wtmp”作為生成報告的資料來源。wtmp 是 *nix 作業系統上的一個二進位制檔案,它保留所有登入和登出活動的記錄。

“lastb” 命令與 last 命令相同,不同之處在於,它預設情況下會在“/var/log/btmp”檔案中查詢,該檔案包含所有失敗的登入嘗試。普通使用者沒有讀取“/var/log/btmp”檔案的許可權。

$ ls -l /var/log/btmp
-rw-rw---- 1 root utmp 1152 Apr  5 00:04 /var/log/btmp

因此,只有 root 使用者可以使用“lastb”命令獲取失敗的登入嘗試報告。

理解輸出

如果我們不帶任何選項執行 last 命令,它將生成所有訪問的歷史記錄報告:

$ last
reboot   system boot  5.5.13-arch2-1   Fri Apr 10 08:02   still running
kent     pts/0        192.168.0.63     Tue Apr  7 22:01 - 23:03  (01:02)
reboot   system boot  5.5.8-arch1-1    Tue Mar 10 20:49 - 20:49  (00:00)
kent     pts/5        tmux(6716).%6    Thu Mar 26 18:58 - 19:01 (7+23:02)
root     tty1 slash Fri Feb 21 18:45 - down   (00:01)
kent     pts/0        80.242.164.60    Thu Feb 20 11:39 - 11:43  (00:04)
guest    pts/0        192.168.0.63     Sun Jan 26 19:15 - 21:32 (02:17)
kent pts/2 tmux(2044).%1 Wed Jan 8 22:39 - 01:09 (02:29)

現在,讓我們檢視上面生成的訪問報告並瞭解每列的含義:

  • 第一列顯示已登入使用者的名稱。

  • 第二列指示使用者如何連線到系統,例如透過pts(偽終端)或tty(電傳打字機)。但如果是重啟任務,則會顯示系統啟動。

  • 第三列指示使用者從何處登入。值可能是:

    • 主機名或 IP 地址 - 如果使用者是從遠端計算機連線的

    • 空值 - 如果使用者透過 tty 連線

    • 核心版本 - 如果是重啟任務

    • 某些應用程式特定的值,例如,tmux(6716).%6 表示 ProcessName(PID).WindowID

  • 第四列指示登入活動何時發生。

  • 第五列顯示登出時間。它們可以是以下值:

      • 時間戳 - 如果使用者已登出

      • 仍在執行 - 如果系統啟動仍在執行

      • 仍處於登入狀態 - 如果使用者仍處於登入狀態

      • 關閉 - 系統正常關閉

      • 崩潰 - 如果“/var/log/wtmp”檔案中沒有登出條目;這通常意味著系統已崩潰

最後一列指示使用者已連線多長時間,格式為(小時:分鐘)。

限制輸出中的行數

多使用者系統很可能在wtmp 檔案中記錄了許多登入條目。如果我們只想檢視一些最近的登入活動,我們可以使用“-n” 選項來限制 last 命令輸出中的行數:

$ last -n 5
kent pts/0 192.168.0.63 Sat Apr 11 14:58 still logged in
kent pts/

結論

在本文中,我們學習了 Linux 中的lastlastb 命令,它們用於顯示最近登入使用者的相關資訊。last 命令對於系統管理員跟蹤伺服器上的使用者活動特別有用。本文還介紹了該命令可用的不同開關和語法,以及如何使用它們的示例。此外,我們還了解了last 命令生成的輸出以及如何限制輸出中的行數。上面解釋的選項、示例和對輸出的理解將幫助您更有效地使用此 last 命令。

更新於:2023年1月20日

6K+ 閱讀量

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告