詳解RedHat Linux的常用命令和常見的日誌文件
成功地管理任何(hé)係統的關鍵之一,是要知道係(xì)統中正(zhèng)在發生什麽事。Linux 中提供了異常日 誌,並且日誌的細(xì)節是可配置的。Linux 日誌都以明文形式存儲,所以用戶不需要特殊的工具就可以搜索和閱讀(dú)它(tā)們。還可以編寫腳本,來掃(sǎo)描這些日誌,並 基於它們的(de)內容去自動執行某些功能。Linux 日誌存儲在 /var/log 目錄中。這裏有幾個由係統維護的日誌文件,但(dàn)其他服務和程序也可能會把它 們的(de)日誌放在這裏。大多數日誌隻有root賬戶才可以讀,不過修改文件的訪問權限就可以讓其他人可讀。
RedHat Linux常用的日誌文件
RedHat Linux常見(jiàn)的日誌文件詳述如下
/var/log/boot.log
該文(wén)件記錄了係統在引導過程中發生(shēng)的(de)事件,就是Linux係統開機自檢過程顯示的信息(xī)。
/var/log/cron
該日誌文件記錄crontab守護(hù)進程crond所派(pài)生的(de)子進程的動作,前麵加上用戶、登(dēng)錄時間和PID,以及派生出的進程的動(dòng)作。CMD的 一個動作是cron派生出(chū)一個調度進程的常見情況。REPLACE(替換)動(dòng)作(zuò)記錄(lù)用戶對它的(de)cron文件的更新(xīn),該文(wén)件列出了要周期性執行的(de)任務調度。 RELOAD動作(zuò)在REPLACE動作後不久(jiǔ)發生,這意味著cron注意到一個用戶的cron文件被更新而cron需要把它重新裝入內存。該文件可(kě)能會查 到(dào)一些反常的情況。
/var/log/maillog
該日誌文件記錄了每一個發送到係統或從係統發(fā)出的電子郵件的活動。它可以用來查看用戶使用哪個係統發送工(gōng)具或把數(shù)據發送到哪個係統。下(xià)麵(miàn)是該日誌文件的片段:
引用(yòng):
Sep 4 17:23:52 UNIX sendmail[1950]: g849Npp01950: from=root, size=25,
class=0, nrcpts=1,
msgid=<200209040923.g849Npp01950@redhat.pfcc.com.cn>,
relay=root@localhost
Sep 4 17:23:55 UNIX sendmail[1950]: g849Npp01950: to=lzy@fcceec.net,
ctladdr=root (0/0), delay=00:00:04, xdelay=00:00:03, mailer=esmtp, pri=30025,
relay=fcceec.net. [10.152.8.2], dsn=2.0.0, stat=Sent (Message queued)
/var/log/messages
該日誌文件是(shì)許多進程日誌文件的匯總,從該文(wén)件可以(yǐ)看出任何入侵企圖或成功的(de)入侵。如以下幾行:
引用:
Sep 3 08:30:17 UNIX login[1275]: FAILED LOGIN 2 FROM (null) FOR suying,
Authentication failure
Sep 4 17:40:28 UNIX -- suying[2017]: LOGIN ON pts/1 BY suying FROM
fcceec.www.ec8.pfcc.com.cn
Sep 4 17:40:39 UNIX su(pam_unix)[2048]: session opened for user root by suying(uid=999)
該文件的格式是每一行包含日期、主機名、程序名,後麵是包含PID或內核標識的方括號、一個冒號和一(yī)個空格(gé),最後是消息(xī)。該文件有(yǒu)一(yī)個(gè)不足, 就是被記錄的入侵企圖和(hé)成功的入侵(qīn)事件,被淹沒在大量的正常進程(chéng)的記錄中。但該文件可以由/etc/syslog文(wén)件進行定製。由/etc /syslog.conf配置文件決定係(xì)統如何寫入/var/messages。有(yǒu)關(guān)如何配置/etc/syslog.conf文件決定(dìng)係統日誌記錄的行 為,將在後麵詳細敘述(shù)。
/var/log/syslog
默認RedHat Linux不生成該日誌文件,但可以配置/etc/syslog.conf讓係統生成該日誌文件。它和/etc/log /messages日誌文件不同,它隻記錄警告信息(xī),常常是係統出問題的信息,所以更應該關注該文件。要讓係統生成該日誌文件,在(zài)/etc /syslog.conf文件中加(jiā)上:*.warning /var/log/syslog 該日誌文件能記(jì)錄當用戶登錄時login記錄下的錯誤口 令、Sendmail的問題、su命令執行失敗等信息。下麵是一條記錄:
引用:
Sep 6 16:47:52 UNIX login(pam_unix)[2384]: check pass; user unknown
/var/log/secure
該日誌文件記錄與安全相關的信息。該(gāi)日誌(zhì)文件的部(bù)分內容如(rú)下:
引用:
Sep 4 16:05:09 UNIX xinetd[711]: START: ftp pid=1815 from=127.0.0.1
Sep 4 16:05:09 UNIX xinetd[1815]: USERID: ftp OTHER :root
Sep 4 16:07:24 UNIX xinetd[711]: EXIT: ftp pid=1815 duration=135(sec)
Sep 4 16:10:05 UNIX xinetd[711]: START: ftp pid=1846 from=127.0.0.1
Sep 4 16:10:05 UNIX xinetd[1846]: USERID: ftp OTHER :root
Sep 4 16:16:26 UNIX xinetd[711]: EXIT: ftp pid=1846 duration=381(sec)
Sep 4 17:40:20 UNIX xinetd[711]: START: telnet pid=2016 from=10.152.8.2
/var/log/lastlog
該(gāi)日誌文件記錄最(zuì)近成功(gōng)登(dēng)錄的事件和最後一次不(bú)成功(gōng)的登(dēng)錄事件,由login生成。在每次用戶登(dēng)錄時被(bèi)查詢,該文件是(shì)二進(jìn)製文件,需要使用(yòng) lastlog命令查看,根據UID排序(xù)顯示登錄名、端口號和上次登錄時間。如果某用戶從來沒有登錄過,就顯示 為"**Never logged in**"。該命(mìng)令(lìng)隻能以root權限執行。簡單地輸(shū)入lastlog命令後就會看到類似如下的信息:
引(yǐn)用:
Username Port From Latest
root tty2 Tue Sep 3 08:32:27 +0800 2002
bin **Never logged in**
daemon **Never logged in**
adm **Never logged in**
lp **Never logged in**
sync **Never logged in**
shutdown **Never logged in**
halt **Never logged in**
mail **Never logged in**
news **Never logged in**
uucp **Never logged in**
operator **Never logged in**
games **Never logged in**
gopher **Never logged in**
ftp ftp UNIX Tue Sep 3 14:49:04 +0800 2002
nobody **Never logged in**
nscd **Never logged in**
mailnull **Never logged in**
ident **Never logged in**
rpc **Never logged in**
rpcuser **Never logged in**
xfs **Never logged in**
gdm **Never logged in**
postgres **Never logged in**
apache **Never logged in**
lzy tty2 Mon Jul 15 08:50:37 +0800 2002
suying tty2 Tue Sep 3 08:31:17 +0800 2002
係統賬戶諸如bin、daemon、adm、uucp、mail等決不應(yīng)該登錄,如果發現這(zhè)些賬戶已經登(dēng)錄,就說明係統可能已經被入侵了。若發現記錄的時間不是用戶上次登錄的時間,則說明該用(yòng)戶的賬戶已經(jīng)泄密了。
/var/log/wtmp
該日(rì)誌文件永久記錄每個用戶登錄(lù)、注銷及係統的啟動、停機的事件(jiàn)。因此隨著係統正常(cháng)運(yùn)行時間的增加,該(gāi)文件的大小也會越來越大,增加的速度取 決於係統用戶登錄的次數。該日誌文件可以用來查看用(yòng)戶的登錄記(jì)錄,last命令就通過訪問這個文件獲得這(zhè)些信息,並以反序從後向前顯示用戶的登錄記(jì) 錄,last也能根據用戶、終端 tty或時間顯示相應的記錄(lù)。
命令last有兩個可選參數:
last -u 用戶名 顯示(shì)用戶上次登錄的情況。
last -t 天數 顯示指定天(tiān)數之前的用戶登(dēng)錄情況(kuàng)。
/var/run/utmp
該日誌文件(jiàn)記錄有關當前(qián)登錄(lù)的每個用戶的(de)信(xìn)息。因此這個文件會(huì)隨著(zhe)用戶登錄和注銷係統而不斷變化,它(tā)隻保留當時聯機的用戶記錄,不會為用戶保 留永久的記錄。係統中需要查詢當前用戶(hù)狀態的程(chéng)序,如 who、w、users、finger等就需要訪問這個文件。該日誌文件並不能包括所有精確的信(xìn) 息,因為某些突發錯誤(wù)會終止用戶登錄會話,而係統沒有及時更新 utmp記錄,因此該日誌文件的記錄不是百分之百值得信賴的(de)。
以上提及的3個文件(/var/log/wtmp、/var/run/utmp、/var/log/lastlog)是日誌子係(xì)統的關鍵文 件,都記(jì)錄了用戶登錄的情況。這些文件的所(suǒ)有記錄都包含了時間戳。這些(xiē)文件是按二進製保存的,故不能用less、cat之類的(de)命令(lìng)直接查看(kàn)這(zhè)些文件(jiàn),而是 需要使用相關命令通過這些文件而查看。其中,utmp和wtmp文件的數據結構是一樣的,而lastlog文件(jiàn)則使用另外的數據結構,關於它們的具體的數 據(jù)結構可以使用man命令查詢。
每次有一個用(yòng)戶登錄時,login程序在文件lastlog中(zhōng)查看用戶的UID。如果存在,則把用戶上次登錄、注銷時間和主機名寫到標準輸出 中(zhōng),然後(hòu)login程序(xù)在lastlog中記錄新的登錄時間,打(dǎ)開utmp文件並插(chā)入用(yòng)戶的utmp記錄。該記(jì)錄一直用到用戶登錄退出時刪除。utmp文 件被各種命令使用,包括who、w、users和finger。
下一步,login程序打開文(wén)件wtmp附(fù)加用戶的utmp記錄。當用戶登錄退出時,具有更新時間(jiān)戳的同一utmp記錄附(fù)加到文件中。wtmp文件被程序(xù)last使用。
/var/log/xferlog
該日誌文件記錄FTP會話,可以顯示出用戶向FTP服務器或(huò)從服務器拷貝了什麽文件。該文件會顯示用戶拷貝(bèi)到服務器上的用來(lái)入侵服務器(qì)的惡意程序,以及該用戶拷貝了哪些文件(jiàn)供他使用。
該文件的格式為:第(dì)一(yī)個域是日期和(hé)時間,第二個域是下載文件所花費的秒數、遠程係統名稱、文件大小、本地路徑名、傳輸類型 (a:ASCII,b:二進製)、與壓(yā)縮相關的標誌或(huò)tar,或"_"(如果沒(méi)有壓縮(suō)的話)、傳(chuán)輸方向(相對於(yú)服務器而言:i代表進,o代表出)、訪問模 式(a:匿名(míng),g:輸入(rù)口令,r:真實用戶)、用戶名(míng)、服務名(通(tōng)常是ftp)、認證方(fāng)法(l:RFC931,或0),認證用戶的ID或"*"。下麵是該 文件的一條(tiáo)記錄:
引用(yòng):
Wed Sep 4
關鍵詞:RedHat,Linux
閱讀本文後您有什麽感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0