
我剛剛登入我的小型家庭伺服器,看到了這條訊息:
Last failed login: Sun Jan 14 17:08:42 CET 2024 from 192.168.1.111 on ssh:notty
There were 4 failed login attempts since the last successful login.
我切換到root用戶然後運行
root@homeserver ~]# egrep "Failed|Failure" /var/log/secure
Jan 14 17:08:42 homeserver sshd[4906]: Failed password for invalid user podman from 192.168.1.111 port 59183 ssh2
為什麼第一個提示報告 4 次登入失敗,而 egrep 命令僅從日誌中返回 1 個條目secure
?我還需要 grep 其他東西嗎?
答案1
從成功登入後的日誌行以及您已檢查的事實來看/var/log/secure
,我假設您的電腦上運行的是 Redhat/CentOS。實際上,您在問題中提到的第一個提示可能是 的輸出pam_lastlog
,其手冊頁如下:
PAM_LASTLOG(8)
... (omitted for brevity)
OPTIONS
... (omitted for brevity)
showfailed
Display number of failed login attempts and the date of the last failed attempt from btmp. The date is not displayed when nodate is specified.
... (omitted for brevity)
請注意,線上說明頁面明確指出該數字是從 檢索的btmp
,即/var/log/btmp
另一個記錄不成功登入的日誌檔案。不幸的是,它是一個二進位文件,您無法使用cat
和grep
命令檢查它。作為解決方法,您可以使用last -f /var/log/btmp
命令來檢查文件記錄的內容,根據這個答案。
順便說一句,如果您查看pam_lastlog
和的線上說明頁面可能會有所幫助這個問題供進一步閱讀。