本教程將向您展示如何使用 Linux 查找最後登錄的用戶。 last
, lastb
什麼時候 lastlog
命令和示例。
Linux 系統管理員應定期檢查 Linux 服務器用戶的登錄日期和時間。它顯示有用的詳細信息,例如活動用戶數、非活動用戶數、登錄時間和時間。如果某些用戶帳戶長時間未使用,您可以在不再需要它們時簡單地鎖定它們。 您還可以在審核 Linux 服務器時使用上次登錄日期來調查可能導致問題的人。幸運的是,GNU/Linux 操作系統包含三重命令。 last
, lastb
什麼時候 lastlog
顯示最新的用戶登錄日期。
內容
1. 使用 last 命令顯示 Linux 上最後登錄用戶的列表。
顧名思義 last
此命令用於在 Linux 和類 Unix 系統上顯示最後登錄的用戶。閱讀 /var/log/wtmp
創建一個文件並查找自文件創建以來登錄和註銷的所有用戶。您還可以列出或搜索特定用戶的最新登錄日期。 重啟Linux系統的人 在…的幫助下 last
命令。
注意系統只記錄信息 wtmp
文檔。如果此文件因任何原因不可用,請使用以下命令創建它: touch
命令是:
$ sudo touch /var/log/wtmp
讓我們檢查一下最新的登錄日期和時間 last
命令。
要查看 Linux 系統上的上次登錄、登錄持續時間和其他信息,請運行以下命令:
$ last
樣本輸出:
ostechni pts/0 192.168.225.37 Thu Jan 7 08:30 still logged in
ostechni tty1 Thu Jan 7 08:29 still logged in
reboot system boot 5.4.0-53-generic Thu Jan 7 08:20 still running
reboot system boot 5.4.0-48-generic Fri Nov 20 10:13 - 11:44 (01:31)
.
.
.
reboot system boot 5.4.0-33-generic Wed Jul 8 08:49 - 11:41 (02:52)
ostechni web console Mon Jul 6 08:19 - 08:20 (00:00)
ostechni pts/2 192.168.225.37 Mon Jul 6 08:14 - 08:30 (00:15)
ostechni pts/0 192.168.225.37 Mon Jul 6 07:41 - 12:27 (04:45)
reboot system boot 5.4.0-33-generic Mon Jul 6 07:21 - 12:27 (05:06)
ostechni pts/3 192.168.225.37 Sat Jul 4 12:01 - 12:12 (00:10)
ostechni pts/2 192.168.225.37 Sat Jul 4 11:14 - 13:01 (01:46)
ostechni pts/0 192.168.225.37 Sat Jul 4 07:55 - 13:01 (05:05)
reboot system boot 5.4.0-33-generic Sat Jul 4 07:53 - 13:03 (05:09)
ostechni tty1 Fri May 29 10:07 - down (00:00)
reboot system boot 5.4.0-33-generic Fri May 29 10:06 - 10:07 (00:01)
ostechni pts/0 192.168.225.37 Fri May 29 09:36 - 10:06 (00:29)
ostechni tty1 Fri May 29 09:36 - down (00:29)
reboot system boot 5.4.0-31-generic Fri May 29 09:35 - 10:06 (00:30)
ostechni tty1 Sun May 24 13:17 - down (00:02)
reboot system boot 5.4.0-31-generic Sun May 24 13:16 - 13:20 (00:03)
wtmp begins Sun May 24 13:16:52 2020
正如您在上面的輸出中看到的,最後一條命令顯示了有關最新登錄的以下詳細信息:
- 用戶名。此外,如果用戶仍處於登錄狀態,則會顯示詳細信息。
- 發生會話的終端設備的類型(例如,tty 或 pts)。
- 用戶登錄的源 IP 地址或主機名。
- 登錄日期和時間戳(即登錄會話開始和停止的時間)。
- 總會話時間。
- 最後一行顯示最早記錄會話的日期和時間
wtmp
日誌文件。
在上面的輸出中,您可能已經註意到有一個特殊的用戶登錄條目: reboot
..這個 last
每次計算機啟動時,該命令都會記錄該用戶。
跑步時 last
此命令沒有選項並顯示整個日誌輸出。有許多選項可以根據您的喜好過濾、格式化和限制輸出。包括最常見選項的示例。
1.1。將輸出限制為特定用戶
如前面提到的, last
列出所有最近登錄記錄的命令 wtmp
文檔。例如,如果您想查看特定用戶的最近登錄(即,如果您想查看特定用戶的所有登錄),例如, 骨科命令如下所示:
$ last ostechnix
樣本輸出:
ostechni pts/0 192.168.225.37 Thu Jan 7 08:30 still logged in
ostechni tty1 Thu Jan 7 08:29 still logged in
ostechni pts/0 192.168.225.37 Wed Jan 6 11:02 - 13:31 (02:28)
[...]
您還可以指定多個用戶名,以逗號分隔,如下所示:
$ last ostechnix sk
1.2.將輸出限制為特定的 tty 或 pts
這個 last
此命令會記錄會話發生的終端設備類型(例如 tty 或 pts)。
例如,用戶可能在本地或通過 ssh 登錄到 Linux 機器。如果要將輸出限制為特定的 tty
無論如何運行:
$ last tty1
樣本輸出:
ostechni tty1 Thu Jan 7 08:29 still logged in
ostechni tty1 Wed Jan 6 11:00 - down (02:31)
ostechni tty1 Fri Nov 20 11:52 - down (00:38)
[...]
tty 的名稱可以省略。例如,您可以 last 1
交換 last tty1
..
再次,只需列出 pts
會話登錄,執行:
$ last pts/0
ostechni pts/0 192.168.225.37 Thu Jan 7 08:30 still logged in
ostechni pts/0 192.168.225.37 Wed Jan 6 11:02 - 13:31 (02:28)
sk pts/0 192.168.225.37 Wed Jan 6 11:02 - 11:02 (00:00)
[...]
您還可以使用 ttys 指定多個用戶名,如下所示:
$ last ostechnix sk pts/0 tty1
1.3.將輸出限制為一定數量的行
這個 wtmp
日誌文件可以包含大量條目。如果要限制輸出 last
命令,用於特定行數 -n
跡像是:
$ last -n 5
再次,
$ last -5
上面的命令只會在輸出中顯示 5 行。
ostechni pts/0 192.168.225.37 Thu Jan 7 08:30 still logged in
ostechni tty1 Thu Jan 7 08:29 still logged in
reboot system boot 5.4.0-53-generic Thu Jan 7 08:20 still running
ostechni pts/0 192.168.225.37 Wed Jan 6 11:02 - 13:31 (02:28)
sk pts/0 192.168.225.37 Wed Jan 6 11:02 - 11:02 (00:00)
wtmp begins Sun May 24 13:16:52 2020
1.4. 顯示主機名而不是 IP 地址
默認 last
此命令顯示用戶記錄的源 IP。 如果要顯示主機名而不是 IP 地址, -d
(還 --dns
)選項:
$ last -d -5
您還可以在輸出中看到完整的用戶名和域名 -w
(還 --fullnames
) 可選的。
1.5. 隱藏主機名和IP地址
要禁止顯示主機名或 IP 字段,請使用: -R
選項。
$ last -5 -R
樣本輸出:
ostechni pts/0 Thu Jan 7 08:30 still logged in
ostechni tty1 Thu Jan 7 08:29 still logged in
reboot system boot Thu Jan 7 08:20 still running
ostechni pts/0 Wed Jan 6 11:02 - 13:31 (02:28)
sk pts/0 Wed Jan 6 11:02 - 11:02 (00:00)
wtmp begins Sun May 24 13:16:52 2020
1.6.查看用戶在特定時間的登錄記錄
這個 -p
(還 --present
) 選項用於查找當前或在指定時間登錄的用戶。
例如,運行以下命令列出今天 8:30 最後登錄的用戶。
$ last -p 08:30
樣本輸出:
ostechni tty1 Thu Jan 7 08:29 still logged in
reboot system boot 5.4.0-53-generic Thu Jan 7 08:20 still running
wtmp begins Sun May 24 13:16:52 2020
要列出當前登錄的用戶(即要運行此命令,請運行以下命令:
$ last -p now

1.7.顯示在特定時間間隔內登錄的用戶
這個 last
該命令有兩個選項。 -s
((((--since
) 什麼時候 -t
((((--until
) 顯示在特定時間段內登錄的用戶。這個 -s
可選擇在指定時間後顯示登錄狀態 -t
在指定時間之前顯示登錄狀態的選項。
例如,如果要顯示 2021-01-07
到達 2021-01-11
命令是:
$ last -s 2021-01-07 -t 2021-01-11
樣本輸出:
ostechni pts/0 192.168.225.37 Thu Jan 7 08:30 - 13:16 (04:46)
ostechni tty1 Thu Jan 7 08:29 - down (04:47)
reboot system boot 5.4.0-53-generic Thu Jan 7 08:20 - 13:16 (04:56)
wtmp begins Sun May 24 13:16:52 2020
查看最近的登錄 昨天 到達 今天, 跑:
$ last -s yesterday -t today
如果您只想列出 2021 年 1 月 7 日至今的登錄信息,請執行以下操作:
$ last -s 2021-01-07
ostechni pts/0 192.168.225.37 Mon Jan 11 06:39 still logged in
reboot system boot 5.4.0-59-generic Mon Jan 11 06:37 still running
ostechni pts/0 192.168.225.37 Thu Jan 7 08:30 - 13:16 (04:46)
ostechni tty1 Thu Jan 7 08:29 - down (04:47)
reboot system boot 5.4.0-53-generic Thu Jan 7 08:20 - 13:16 (04:56)
wtmp begins Sun May 24 13:16:52 2020
1.8. 顯示上次登錄用戶的完整日期和時間
這個 -F
((((--fulltimes
) 顯示完全登錄和註銷的日期和時間的選項 last
命令輸出。
$ last -5 -F
樣本輸出:
ostechni pts/0 192.168.225.37 Mon Jan 11 06:39:29 2021 still logged in
[...]
1.9. 在最後一列顯示主機名
這個 -a
((((--hostlast
) 最後顯示主機名列以防止截斷的選項。
$ last -d -a
ostechni pts/0 Mon Jan 11 06:39 still logged in ostechnix
[...]
1.10. 顯示偽用戶“reboot”的最後一次登錄記錄
如前所述,最後一條命令記錄了稱為“restart”和“shutdown”的特殊偽用戶。
要查看“reboot”和“shutdown”用戶的上次登錄詳細信息,請使用以下命令。
$ last reboot
$ last shutdown
2. 在 Linux 上使用 lastb 查看失敗的登錄嘗試
這個 lastb
什麼時候 last
雖然它是一個命令,但只列出了所有錯誤的登錄嘗試。從登錄失敗的詳細信息中獲取 /var/log/btmp
文檔。
注意系統只記錄信息 btmp
文件(如果有)。如果此文件因任何原因不可用,請使用以下命令創建它: touch
命令是:
$ sudo touch /var/log/btmp
您現在可以使用 lastb 命令查看失敗的登錄嘗試,如下所示:
$ sudo lastb
樣本輸出:
UNKNOWN tty1 Mon Jan 11 07:51 - 07:51 (00:00)
sk tty1 Mon Jan 11 07:51 - 07:51 (00:00)
UNKNOWN tty1 Mon Jan 11 07:51 - 07:51 (00:00)
sk tty1 Mon Jan 11 07:51 - 07:51 (00:00)
ostechni ssh:notty 192.168.225.37 Mon Jan 11 07:49 - 07:49 (00:00)
ostechni ssh:notty 192.168.225.37 Mon Jan 11 07:49 - 07:49 (00:00)
ostechni ssh:notty 192.168.225.37 Mon Jan 11 07:49 - 07:49 (00:00)
UNKNOWN tty1 Wed Jan 6 10:59 - 10:59 (00:00)
btmp begins Wed Jan 6 10:59:57 2021

上述命令列出了 Linux 系統所有用戶的所有失敗登錄嘗試。它還顯示通過 SSH 登錄失敗的嘗試。
3.使用lastlog命令查找Linux上最後登錄的用戶
這個 最後記錄 此命令顯示 Linux 和類 Unix 操作系統的所有或特定用戶的最近登錄。獲取上次登錄用戶列表 /var/log/lastlog
創建一個文件並在標準輸出上顯示結果。
要查看所有用戶的最近登錄,請運行以下命令:
$ lastlog
樣本輸出:
Username Port From Latest
root **Never logged in**
daemon **Never logged in**
bin **Never logged in**
[...]
systemd-coredump **Never logged in**
ostechnix tty1 Mon Jan 11 07:51:46 +0000 2021
lxd **Never logged in**
dnsmasq **Never logged in**
libvirt-qemu **Never logged in**
libvirt-dnsmasq **Never logged in**
cockpit-ws **Never logged in**
cockpit-wsinstance **Never logged in**
libvirtdbus **Never logged in**
_flatpak **Never logged in**
sk pts/0 192.168.225.37 Wed Jan 6 11:02:17 +0000 2021
root **Never logged in**
nobody **Never logged in**

正如您在上面的輸出中看到的 lastlog
此命令顯示系統用戶帳戶和其他服務帳戶的最後登錄記錄,例如: bin
, daemon
, sys
, mail
, nobody
等等
這個 lastlog
此命令打印用戶登錄的登錄名、端口、源 IP 地址以及上次登錄的日期和時間。如果用戶從未登錄,則會打印一條消息 ** Never logged in**
而不是輸出端口和時間。
您可能想知道為什麼這麼多服務帳戶不登錄。這是因為這些帳戶的登錄 shell 設置為。 /sbin/nologin
..這是限制對 shell 的直接訪問的常見安全做法。
3.1。查看特定用戶的上次登錄詳細信息
顯示指定用戶的最後一條日誌記錄(例如) 骨科命令如下所示:
$ lastlog -u ostechnix
樣本輸出:
Username Port From Latest
ostechnix tty1 Mon Jan 11 07:51:46 +0000 2021
3.2.查看X天前或最近的最後一次登錄記錄
這個 lastlog
該命令可以顯示 X 天前或 X 天后的最新登錄記錄。
例如, -b
跡像是:
$ lastlog -b 5
同樣,要查看超過 5 天的登錄, -t
橫幅:
$ lastlog -t 5
3.3.在Linux上使用lastlog刪除或清除上次登錄信息
如果您不需要用戶的 lastlog 記錄,請使用: -C
((((--clear
) 國旗:
$ sudo lastlog -u ostechnix -C
要驗證日誌記錄是否已清除,請執行以下操作:
$ lastlog -u ostechnix
Username Port From Latest
ostechnix **Never logged in**
得到幫助
有關更多信息,請參閱相應命令的幫助部分。
$ last --help
$ lastb --help
$ lastlog --help
或者查看每個命令的手冊頁。
$ man last
$ man lastb
$ man lastlog
這個 last
, lastb
什麼時候 lastlog
救援命令用於檢測 Linux 系統上的可疑用戶活動。 找出最近登錄(或註銷)到您的 Linux 服務器的人員、登錄時間和登錄時間,以及在故障排除時肯定會幫助您的重要細節。
相關閱讀:
- 如何在 Linux 上找到當前登錄的用戶
- 如何列出 Linux 上的所有用戶
- 如何在 Linux 上監控用戶活動
- 如何限制用戶訪問 Linux 系統
查找上次登錄用戶 lastlastblastlog Linux 管理 LinuxBasicLinux 命令 Linux 提示 Linux 用戶管理