學會查看日誌文件是一件很有意義的事,因為在 Linux 系統中運行的程式通常會把一些系統消息和錯誤消息寫入對應的日誌中,若是一旦出現問題,我們就可以通過查看日誌來迅速定位,及時解決故障。 ...
學會查看日誌文件是一件很有意義的事,因為在Linux
系統中運行的程式通常會把一些系統消息和錯誤消息寫入對應的日誌中,若是一旦出現問題,我們就可以通過查看日誌來迅速定位,及時解決故障。
日誌的三種類型
- 內核及系統日誌:
這種日誌數據由系統服務rsyslog
統一管理,根據其主配置文件/etc/rsyslog.conf
中的設置決定將內核消息及各種系統程式消息記錄到什麼位置。系統中有相當一部分程式會把自己的日誌文件交由rsyslog
管理,因而這些程式使用的日誌記錄也具有相似的格式。
- 用戶日誌:
這種日誌數據用於記錄Linux
操作系統用戶登錄及退出系統的相關信息,包括用戶名、登錄的終端、登錄時間、來源主機、正在使用的進程操作等。
- 程式日誌:
有些應用程式會選擇由自己獨立管理一份日誌文件(而不是交給rsyslog
服務管理),用於記錄本程式運行過程中的各種事件信息。由於這些程式只負責管理自己的日誌文件,因此不同程式所使用的日誌記錄格式可能會存在較大的差異。
常見的日誌文件
路徑 | 說明 |
---|---|
/var/log/messages | 記錄 Linux 內核消息及各種應用程式的公共日誌信息 |
/var/log/cron | 記錄 crond 計劃任務產生的事件信息 |
/var/log/dmesg | 記錄 Linux 操作系統在引導過程中的各種事件信息 |
/var/log/maillog | 記錄進入或發出系統的電子郵件活動 |
/var/log/lastlog | 記錄每個用戶最近的登錄事件 |
/var/log/secure | 記錄用戶認證相關的安全事件信息 |
/var/log/wtmp | 記錄每個用戶登錄、註銷及系統啟動和停機事件 |
/var/log/btmp | 記錄失敗的、錯誤的登錄嘗試及驗證事件 |
日誌的優先順序別
數字等級越小,優先順序越高,消息越重要。
級別 | 英文單詞 | 中文釋義 | 說明 |
---|---|---|---|
0 | EMERG | 緊急 | 會導致主機系統不可用的情況 |
1 | ALERT | 警告 | 必須馬上採取措施解決的問題 |
2 | CRIT | 嚴重 | 比較嚴重的情況 |
3 | ERR | 錯誤 | 運行出現錯誤 |
4 | WARNING | 提醒 | 可能影響系統功能,需要提醒用戶的重要事件 |
5 | NOTICE | 註意 | 不會影響正常功能,但是需要註意的事件 |
6 | INFO | 信息 | 一般信息 |
7 | DEBUG | 調試 | 程式或系統調試信息等 |
用戶日誌相關命令
users
users
命令只是簡單地輸出當前登錄的用戶名稱,每個顯示的用戶名對應一個登錄會話。如果一個用戶有不止一個登錄會話,那他的用戶名將顯示與其相同的次數。
[root@localhost ~]# users
root
who
who
命令用於報告當前登錄到系統中的每個用戶的信息。使用該命令,系統管理員可以查看當前系統存在哪些不合法用戶,從而對其進行審計和處理。who
的預設輸出包括用戶名、終端類型、登錄日期及遠程主機。
[root@localhost ~]# who
root pts/0 2019-09-06 23:56 (192.168.28.1)
w
w
命令用於顯示當前系統中的每個用戶及其所運行的進程信息,比users
、who
命令的輸出內容要豐富一些。
23:57:33 up 4 min, 1 user, load average: 0.02, 0.18, 0.11
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.28.1 23:56 5.00s 0.11s 0.02s w
last
last
命令用於查詢成功登錄到系統的用戶記錄,最近的登錄情況將顯示在最前面。通過last
命令可以及時掌握Linux
主機的登錄情況,若發現未經授權的用戶登錄過,則表示當前主機可能已被入侵。
[root@localhost ~]# last
root pts/0 192.168.28.1 Fri Sep 6 23:56 still logged in
reboot system boot 3.10.0-693.el7.x Fri Sep 6 23:52 - 23:58 (00:05)
ll :0 :0 Wed Sep 4 14:09 - crash (00:07)
reboot system boot 3.10.0-693.el7.x Wed Sep 4 14:06 - 14:24 (00:18)
wtmp begins Wed Sep 4 14:06:18 2019
lastb
lastb
命令用於查詢登錄失敗的用戶記錄,如登錄的用戶名錯誤、密碼不正確等情況都將記錄在案。登錄失敗的情況屬於安全事件,因為這表示可能有人在嘗試猜解你的密碼。
[root@localhost ~]# lastb
ll ssh:notty 192.168.28.1 Sat Sep 7 00:01 - 00:01 (00:00)
ll :0 :0 Fri Sep 6 23:59 - 23:59 (00:00)
btmp begins Fri Sep 6 23:59:42 2019