本教程將向您展示如何使用 Linux 查找最後登錄的用戶。 last, lastb 什麼時候 lastlog 命令和示例。

Linux 系統管理員應定期檢查 Linux 服務器用戶的登錄日期和時間。它顯示有用的詳細信息,例如活動用戶數、非活動用戶數、登錄時間和時間。如果某些用戶帳戶長時間未使用,您可以在不再需要它們時簡單地鎖定它們。 您還可以在審核 Linux 服務器時使用上次登錄日期來調查可能導致問題的人。幸運的是,GNU/Linux 操作系統包含三重命令。 last, lastb 什麼時候 lastlog 顯示最新的用戶登錄日期。

內容

  1. 1. 使用 last 命令顯示 Linux 上最後登錄用戶的列表。
    1. 1.1。將輸出限制為特定用戶
    2. 1.2.將輸出限制為特定的 tty 或 pts
    3. 1.3.將輸出限制為一定數量的行
    4. 1.4. 顯示主機名而不是 IP 地址
    5. 1.5. 隱藏主機名和IP地址
    6. 1.6.查看用戶在特定時間的登錄記錄
    7. 1.7.顯示在特定時間間隔內登錄的用戶
    8. 1.8. 顯示上次登錄用戶的完整日期和時間
    9. 1.9. 在最後一列顯示主機名
    10. 1.10. 顯示偽用戶“rebo​​ot”的最後一次登錄記錄
  2. 2. 在 Linux 上使用 lastb 查看失敗的登錄嘗試
  3. 3.使用lastlog命令查找Linux上最後登錄的用戶
    1. 3.1。查看特定用戶的上次登錄詳細信息
    2. 3.2.查看X天前或最近的最後一次登錄記錄
    3. 3.3.在Linux上使用lastlog刪除或清除上次登錄信息
      1. 得到幫助

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
使用 last 命令列出 Linux 上最後登錄的用戶

正如您在上面的輸出中看到的,最後一條命令顯示了有關最新登錄的以下詳細信息:

  • 用戶名。此外,如果用戶仍處於登錄狀態,則會顯示詳細信息。
  • 發生會話的終端設備的類型(例如,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 命令顯示特定用戶的最新登錄信息

您還可以指定多個用戶名,以逗號分隔,如下所示:

$ 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. 顯示偽用戶“rebo​​ot”的最後一次登錄記錄

如前所述,最後一條命令記錄了稱為“restart”和“shutdown”的特殊偽用戶。

要查看“rebo​​ot”和“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 上使用 lastb 命令查看失敗的登錄嘗試在 Linux 上使用 lastb 命令查看失敗的登錄嘗試

上述命令列出了 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 命令查找 Linux 上最後登錄的用戶使用 lastlog 命令查找 Linux 上最後登錄的用戶

正如您在上面的輸出中看到的 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 用戶管理