系統中有一些重要的痕跡日誌檔案,如/var/log/wtmp
、/var/run/utmp
、/var/log/btmp
、
/var/log/astlog
等日誌檔案,如果你用vim
開啟這些檔案,你會發現這些檔案是二進位制亂碼。這是由於這些日誌中儲存的是系統的重要登入痕跡,包括某個使用者何時登入了系統,何時退出了系統,錯誤登入等重要的系統資訊。這些資訊要是可以通過vim
開啟,就能編輯,這樣痕跡資訊就不準確,所以這些重要的痕跡日誌,只能通過對應的命令來進行檢視(不能修改)。
1、w命令
w
命令是顯示系統中正在登陸的使用者資訊的命令,這個命令檢視的痕跡日誌是/var/run/utmp
。
(1)w
命令的基本資訊如下:
- 命令名稱:
w
- 英文原意:
Show who is logged on and what they are doing.
- 所在路徑:
/usr/bin/w
- 執行許可權:所有使用者。
- 功能描述:顯示燈使用者,和他正在做什麼。
示例:
(2)顯示內容說明
第一行資訊內容如下:
12:26:46
: 系統當前時間。up 1day,5:47
: 系統的執行時間,本機已經執行1天5小時47分鐘。2 users
: 當前登入了兩個使用者。load average:0.00,0.01,0.05
: 系統在之前1分鐘、5分鐘、15分鐘的平均負載。如果CPU是單核的,則這個數值超過1就是高負載:如果CPU是四核的,則這個數值超過4就是高負載(這個平均負載完全是依據個人經驗來進行判斷的,一般認為不應該超過伺服器CPU的核數)。
第二行資訊內容如下:
USER
:當前登陸的使用者。TTY
:登陸的終端:
tty1-6
:本地字元終端(alt+F1-6
切換)
tty7
:本地圖形終端(ctrl+alt+F7
切換,必須安裝啟動圖形介面)
pts/0-255
:遠端終端FROM
:登陸的IP地址,如果是本地終端,則是空。LOGIN@
:登陸時間。IDLE
:使用者閒置時間。JCPU
:所有的程式佔用的CPU時間。PCPU
:當前程式佔用的CPU時間。WHAT
:使用者正在進行的操作。
2、who命令
who
命令和w
命令類似,用於檢視正在登陸的使用者,但是顯示的內容更加簡單。等同於是檢視
/var/run/utmp
日誌檔案。
[root@localhost ~]# who
root tty1 2018-11-12 23:59
root pts/2 2018-11-12 23:42(192.168.252.1)
#使用者名稱 #登陸終端 # 登陸時間 #(來源IP)
3、last命令
last
命令是檢視系統所有登陸過的使用者資訊的,包括正在登陸的使用者和之前登陸的使用者。
這個命令檢視的是/var/log/wtmp
痕跡日誌檔案。該命令檢視的是一個重要的系統痕跡日誌,包括重啟時間都會有記錄。
如下圖所示:
4、lastlog命令
lastlog
命令是檢視系統中所有使用者最後一次的登陸時間的命令,他檢視的日誌是/Nar/log/lastlog
檔案。
如下圖所示:
Linux系統自動建立的使用者是重要的系統使用者,一般也稱之為偽使用者。
為什麼稱之為偽使用者,因為這些使用者是不能用於登陸的。
這些使用者也不能刪除,這些使用者是用來啟動Linux系統中對應的服務和程式的。如果把這些使用者刪除了,與之對應的服務就無法啟動,有可能導致無法開機。
如下圖所示:
5、lastb命令
lastb
命令是檢視錯誤登陸的資訊的(如密碼輸入錯誤沒有登陸成功等),檢視的是/var/log/btmp
痕跡日誌。
如下圖所示: