亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網(wǎng)絡(luò),我們將竭誠為您提供優(yōu)質(zhì)的服務(wù)! 誠征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯(lián)系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業(yè)務(wù)咨詢
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁 >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

Linux 服務(wù)器系統(tǒng)常見的日志文件和常用命令

添加時(shí)間:2011-4-17  添加: admin 

成功地管理任何系統(tǒng)的關(guān)鍵之一,是要知道系統(tǒng)中正在發(fā)生什么事。Linux 中提供了異常日志,并且日志的細(xì)節(jié)是可配置的。Linux 日志都以明文形式存儲,所以用戶不需要特殊的工具就可以搜索和閱讀它們。還可以編寫腳本,來掃描這些日志,并基于它們的內(nèi)容去自動(dòng)執(zhí)行某些功能。Linux 日志存儲在 /var/log 目錄中。這里有幾個(gè)由系統(tǒng)維護(hù)的日志文件,但其他服務(wù)和程序也可能會把它們的日志放在這里。大多數(shù)日志只有root賬戶才可以讀,不過修改文件的訪問權(quán)限就可以讓其他人可讀。

—————————————————————————————————————————

成功地管理任何系統(tǒng)的關(guān)鍵之一,是要知道系統(tǒng)中正在發(fā)生什么事。Linux 中提供了異常日志,并且日志的細(xì)節(jié)是可配置的。Linux 日志都以明文形式存儲,所以用戶不需要特殊的工具就可以搜索和閱讀它們。還可以編寫腳本,來掃描這些日志,并基于它們的內(nèi)容去自動(dòng)執(zhí)行某些功能。Linux 日志存儲在 /var/log 目錄中。這里有幾個(gè)由系統(tǒng)維護(hù)的日志文件,但其他服務(wù)和程序也可能會把它們的日志放在這里。大多數(shù)日志只有root賬戶才可以讀,不過修改文件的訪問權(quán)限就可以讓其他人可讀。

RedHat Linux常用的日志文件

RedHat Linux常見的日志文件詳述如下

/var/log/boot.log

該文件記錄了系統(tǒng)在引導(dǎo)過程中發(fā)生的事件,就是Linux系統(tǒng)開機(jī)自檢過程顯示的信息。

/var/log/cron

該日志文件記錄crontab守護(hù)進(jìn)程crond所派生的子進(jìn)程的動(dòng)作,前面加上用戶、登錄時(shí)間和PID,以及派生出的進(jìn)程的動(dòng)作。CMD的一個(gè)動(dòng)作是cron派生出一個(gè)調(diào)度進(jìn)程的常見情況。REPLACE(替換)動(dòng)作記錄用戶對它的cron文件的更新,該文件列出了要周期性執(zhí)行的任務(wù)調(diào)度。RELOAD動(dòng)作在REPLACE動(dòng)作后不久發(fā)生,這意味著cron注意到一個(gè)用戶的cron文件被更新而cron需要把它重新裝入內(nèi)存。該文件可能會查到一些反常的情況。

/var/log/maillog

該日志文件記錄了每一個(gè)發(fā)送到系統(tǒng)或從系統(tǒng)發(fā)出的電子郵件的活動(dòng)。它可以用來查看用戶使用哪個(gè)系統(tǒng)發(fā)送工具或把數(shù)據(jù)發(fā)送到哪個(gè)系統(tǒng)。下面是該日志文件的片段:

Sep 4 17:23:52 UNIX sendmail[1950]: g849Npp01950: from=root, size=25,

class=0, nrcpts=1,

msgid=,

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

該日志文件是許多進(jìn)程日志文件的匯總,從該文件可以看出任何入侵企圖或成功的入侵。如以下幾行:

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)

該文件的格式是每一行包含日期、主機(jī)名、程序名,后面是包含PID或內(nèi)核標(biāo)識的方括號、一個(gè)冒號和一個(gè)空格,最后是消息。該文件有一個(gè)不足,就是被記錄的入侵企圖和成功的入侵事件,被淹沒在大量的正常進(jìn)程的記錄中。但該文件可以由/etc/syslog文件進(jìn)行定制。由/etc/syslog.conf配置文件決定系統(tǒng)如何寫入/var/messages。有關(guān)如何配置/etc/syslog.conf文件決定系統(tǒng)日志記錄的行為,將在后面詳細(xì)敘述。

/var/log/syslog

默認(rèn)RedHat Linux不生成該日志文件,但可以配置/etc/syslog.conf讓系統(tǒng)生成該日志文件。它和/etc/log/messages日志文件不同,它只記錄警告信息,常常是系統(tǒng)出問題的信息,所以更應(yīng)該關(guān)注該文件。要讓系統(tǒng)生成該日志文件,在/etc/syslog.conf文件中加上:*.warning /var/log/syslog 該日志文件能記錄當(dāng)用戶登錄時(shí)login記錄下的錯(cuò)誤口令、Sendmail的問題、su命令執(zhí)行失敗等信息。下面是一條記錄:

Sep 6 16:47:52 UNIX login(pam_unix)[2384]: check pass; user unknown

/var/log/secure

該日志文件記錄與安全相關(guān)的信息。該日志文件的部分內(nèi)容如下:

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

該日志文件記錄最近成功登錄的事件和最后一次不成功的登錄事件,由login生成。在每次用戶登錄時(shí)被查詢,該文件是二進(jìn)制文件,需要使用lastlog命令查看,根據(jù)UID排序顯示登錄名、端口號和上次登錄時(shí)間。如果某用戶從來沒有登錄過,就顯示為"**Never logged in**"。該命令只能以root權(quán)限執(zhí)行。簡單地輸入lastlog命令后就會看到類似如下的信息:

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

系統(tǒng)賬戶諸如bin、daemon、adm、uucp、mail等決不應(yīng)該登錄,如果發(fā)現(xiàn)這些賬戶已經(jīng)登錄,就說明系統(tǒng)可能已經(jīng)被入侵了。若發(fā)現(xiàn)記錄的時(shí)間不是用戶上次登錄的時(shí)間,則說明該用戶的賬戶已經(jīng)泄密了。

/var/log/wtmp

該日志文件永久記錄每個(gè)用戶登錄、注銷及系統(tǒng)的啟動(dòng)、停機(jī)的事件。因此隨著系統(tǒng)正常運(yùn)行時(shí)間的增加,該文件的大小也會越來越大,增加的速度取決于系統(tǒng)用戶登錄的次數(shù)。該日志文件可以用來查看用戶的登錄記錄,last命令就通過訪問這個(gè)文件獲得這些信息,并以反序從后向前顯示用戶的登錄記錄,last也能根據(jù)用戶、終端 tty或時(shí)間顯示相應(yīng)的記錄。

命令last有兩個(gè)可選參數(shù):

last -u 用戶名 顯示用戶上次登錄的情況。

last -t 天數(shù) 顯示指定天數(shù)之前的用戶登錄情況。

/var/run/utmp

該日志文件記錄有關(guān)當(dāng)前登錄的每個(gè)用戶的信息。因此這個(gè)文件會隨著用戶登錄和注銷系統(tǒng)而不斷變化,它只保留當(dāng)時(shí)聯(lián)機(jī)的用戶記錄,不會為用戶保留永久的記錄。系統(tǒng)中需要查詢當(dāng)前用戶狀態(tài)的程序,如 who、w、users、finger等就需要訪問這個(gè)文件。該日志文件并不能包括所有精確的信息,因?yàn)槟承┩话l(fā)錯(cuò)誤會終止用戶登錄會話,而系統(tǒng)沒有及時(shí)更新 utmp記錄,因此該日志文件的記錄不是百分之百值得信賴的。

以上提及的3個(gè)文件(/var/log/wtmp、/var/run/utmp、/var/log/lastlog)是日志子系統(tǒng)的關(guān)鍵文件,都記錄了用戶登錄的情況。這些文件的所有記錄都包含了時(shí)間戳。這些文件是按二進(jìn)制保存的,故不能用less、cat之類的命令直接查看這些文件,而是需要使用相關(guān)命令通過這些文件而查看。其中,utmp和wtmp文件的數(shù)據(jù)結(jié)構(gòu)是一樣的,而lastlog文件則使用另外的數(shù)據(jù)結(jié)構(gòu),關(guān)于它們的具體的數(shù)據(jù)結(jié)構(gòu)可以使用man命令查詢。

每次有一個(gè)用戶登錄時(shí),login程序在文件lastlog中查看用戶的UID。如果存在,則把用戶上次登錄、注銷時(shí)間和主機(jī)名寫到標(biāo)準(zhǔn)輸出中,然后login程序在lastlog中記錄新的登錄時(shí)間,打開utmp文件并插入用戶的utmp記錄。該記錄一直用到用戶登錄退出時(shí)刪除。utmp文件被各種命令使用,包括who、w、users和finger。

下一步,login程序打開文件wtmp附加用戶的utmp記錄。當(dāng)用戶登錄退出時(shí),具有更新時(shí)間戳的同一utmp記錄附加到文件中。wtmp文件被程序last使用。

/var/log/xferlog

該日志文件記錄FTP會話,可以顯示出用戶向FTP服務(wù)器或從服務(wù)器拷貝了什么文件。該文件會顯示用戶拷貝到服務(wù)器上的用來入侵服務(wù)器的惡意程序,以及該用戶拷貝了哪些文件供他使用。

該文件的格式為:第一個(gè)域是日期和時(shí)間,第二個(gè)域是下載文件所花費(fèi)的秒數(shù)、遠(yuǎn)程系統(tǒng)名稱、文件大小、本地路徑名、傳輸類型(a:ASCII,b:二進(jìn)制)、與壓縮相關(guān)的標(biāo)志或tar,或"_"(如果沒有壓縮的話)、傳輸方向(相對于服務(wù)器而言:i代表進(jìn),o代表出)、訪問模式(a:匿名,g:輸入口令,r:真實(shí)用戶)、用戶名、服務(wù)名(通常是ftp)、認(rèn)證方法(l:RFC931,或0),認(rèn)證用戶的ID或"*"。下面是該文件的一條記錄:

Wed Sep 4 08:14:03 2002 1 UNIX 275531

/var/ftp/lib/libnss_files-2.2.2.so b _ o a -root@UNIX ftp 0 * c

/var/log/kernlog

 RedHat Linux默認(rèn)沒有記錄該日志文件。要啟用該日志文件,必須在/etc/syslog.conf文件中添加一行:kern.* /var/log/kernlog 。這樣就啟用了向/var/log/kernlog文件中記錄所有內(nèi)核消息的功能。該文件記錄了系統(tǒng)啟動(dòng)時(shí)加載設(shè)備或使用設(shè)備的情況。一般是正常的操作,但如果記錄了沒有授權(quán)的用戶進(jìn)行的這些操作,就要注意,因?yàn)橛锌赡苓@就是惡意用戶的行為。下面是該文件的部分內(nèi)容:

Sep 5 09:38:42 UNIX kernel: NET4: Linux TCP/IP 1.0 for NET4.0

Sep 5 09:38:42 UNIX kernel: IP Protocols: ICMP, UDP, TCP, IGMP

Sep 5 09:38:42 UNIX kernel: IP: routing cache hash table of 512 buckets, 4Kbytes

Sep 5 09:38:43 UNIX kernel: TCP: Hash tables configured (established 4096 bind 4096)

Sep 5 09:38:43 UNIX kernel: Linux IP multicast router 0.06 plus PIM-SM

Sep 5 09:38:43 UNIX kernel: NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.

Sep 5 09:38:44 UNIX kernel: EXT2-fs warning: checktime reached, running e2fsck is recommended

Sep 5 09:38:44 UNIX kernel: VFS: Mounted root (ext2 filesystem).

Sep 5 09:38:44 UNIX kernel: SCSI subsystem driver Revision: 1.00

/var/log/Xfree86.x.log

該日志文件記錄了X-Window啟動(dòng)的情況。另外,除了/var/log/外,惡意用戶也可能在別的地方留下痕跡,應(yīng)該注意以下幾個(gè)地方:root和其他賬戶的shell歷史文件;用戶的各種郵箱,如.sent、mbox,以及存放在/var/spool/mail/ 和 /var/spool/mqueue中的郵箱;臨時(shí)文件/tmp、/usr/tmp、/var/tmp;隱藏的目錄;其他惡意用戶創(chuàng)建的文件,通常是以"."開頭的具有隱藏屬性的文件等。

具體命令

wtmp和utmp文件都是二進(jìn)制文件,它們不能被諸如tail之類的命令剪貼或合并(使用cat命令)。用戶需要使用who、w、users、last和ac等命令來使用這兩個(gè)文件包含的信息。

who命令

who命令查詢utmp文件并報(bào)告當(dāng)前登錄的每個(gè)用戶。who的默認(rèn)輸出包括用戶名、終端類型、登錄日期及遠(yuǎn)程主機(jī)。例如,鍵入who命令,然后按回車鍵,將顯示如下內(nèi)容:

chyang pts/0 Aug 18 15:06

ynguo pts/2 Aug 18 15:32

ynguo pts/3 Aug 18 13:55

lewis pts/4 Aug 18 13:35

ynguo pts/7 Aug 18 14:12

ylou pts/8 Aug 18 14:15

如果指明了wtmp文件名,則who命令查詢所有以前的記錄。命令who /var/log/wtmp將報(bào)告自從wtmp文件創(chuàng)建或刪改以來的每一次登錄。

w命令

w命令查詢utmp文件并顯示當(dāng)前系統(tǒng)中每個(gè)用戶和它所運(yùn)行的進(jìn)程信息。例如,鍵入w命令,然后按回車鍵,將顯示如下內(nèi)容:

3:36pm up 1 day, 22:34, 6 users, load average: 0.23, 0.29, 0.27

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

chyang pts/0 202.38.68.242 3:06pm 2:04 0.08s 0.04s -bash

ynguo pts/2 202.38.79.47 3:32pm 0.00s 0.14s 0.05 w

lewis pts/3 202.38.64.233 1:55pm 30:39 0.27s 0.22s -bash

lewis pts/4 202.38.64.233 1:35pm 6.00s 4.03s 0.01s sh /home/users/

ynguo pts/7 simba.nic.ustc.e 2:12pm 0.00s 0.47s 0.24s telnet mail

ylou pts/8 202.38.64.235 2:15pm 1:09m 0.10s 0.04s -bash

users命令

users命令用單獨(dú)的一行打印出當(dāng)前登錄的用戶,每個(gè)顯示的用戶名對應(yīng)一個(gè)登錄會話。如果一個(gè)用戶有不止一個(gè)登錄會話,那他的用戶名將顯示相同的次數(shù)。例如,鍵入users命令,然后按回車鍵,將顯示如下內(nèi)容:

chyang lewis lewis ylou ynguo ynguo

last命令

last命令往回搜索wtmp來顯示自從文件第一次創(chuàng)建以來登錄過的用戶。例如:

chyang pts/9 202.38.68.242 Tue Aug 1 08:34 - 11:23 (02:49)

cfan pts/6 202.38.64.224 Tue Aug 1 08:33 - 08:48 (00:14)

chyang pts/4 202.38.68.242 Tue Aug 1 08:32 - 12:13 (03:40)

lewis pts/3 202.38.64.233 Tue Aug 1 08:06 - 11:09 (03:03)

lewis pts/2 202.38.64.233 Tue Aug 1 07:56 - 11:09 (03:12)

如果指明了用戶,那么last只報(bào)告該用戶的近期活動(dòng),例如,鍵入last ynguo命令,然后按回車鍵,將顯示如下內(nèi)容:

ynguo pts/4 simba.nic.ustc.e Fri Aug 4 16:50 - 08:20 (15:30)

ynguo pts/4 simba.nic.ustc.e Thu Aug 3 23:55 - 04:40 (04:44)

ynguo pts/11 simba.nic.ustc.e Thu Aug 3 20:45 - 22:02 (01:16)

ynguo pts/0 simba.nic.ustc.e Thu Aug 3 03:17 - 05:42 (02:25)

ynguo pts/0 simba.nic.ustc.e Wed Aug 2 01:04 - 03:16 1+02:12)

ynguo pts/0 simba.nic.ustc.e Wed Aug 2 00:43 - 00:54 (00:11)

ynguo pts/9 simba.nic.ustc.e Thu Aug 1 20:30 - 21:26 (00:55)

ac命令

ac命令根據(jù)當(dāng)前的/var/log/wtmp文件中的登錄進(jìn)入和退出來報(bào)告用戶連接的時(shí)間(小時(shí)),如果不使用標(biāo)志,則報(bào)告總的時(shí)間。例如,鍵入ac命令,然后按回車鍵,將顯示如下內(nèi)容:

total 5177.47

鍵入ac -d命令,然后按回車鍵,將顯示每天的總的連接時(shí)間:

Aug 12 total 261.87

Aug 13 total 351.39

Aug 14 total 396.09

Aug 15 total 462.63

Aug 16 total 270.45

Aug 17 total 104.29

Today total 179.02

鍵入ac -p命令,然后按回車鍵,將顯示每個(gè)用戶的總的連接時(shí)間:

ynguo 193.23

yucao 3.35

rong 133.40

hdai 10.52

zjzhu 52.87

zqzhou 13.14

liangliu 24.34

total 5178.24

lastlog命令

lastlog文件在每次有用戶登錄時(shí)被查詢?梢允褂胠astlog命令檢查某特定用戶上次登錄的時(shí)間,并格式化輸出上次登錄日志/var/log/lastlog的內(nèi)容。它根據(jù)UID排序顯示登錄名、端口號(tty)和上次登錄時(shí)間。如果一個(gè)用戶從未登錄過,lastlog顯示**Never logged**。注意需要以root身份運(yùn)行該命令,例如:

rong 5 202.38.64.187 Fri Aug 18 15:57:01 +0800 2000

dbb **Never logged in**

xinchen **Never logged in**

pb9511 **Never logged in**

xchen 0 202.38.64.190 Sun Aug 13 10:01:22 +0800 2000

另外,可加一些參數(shù),例如,"last -u 102"命令將報(bào)告UID為102的用戶;"last -t 7"命令表示限制為上一周的報(bào)告。

進(jìn)程統(tǒng)計(jì)

UNIX可以跟蹤每個(gè)用戶運(yùn)行的每條命令,如果想知道昨晚弄亂了哪些重要的文件,進(jìn)程統(tǒng)計(jì)子系統(tǒng)可以告訴你。它還對跟蹤一個(gè)侵入者有幫助。與連接時(shí)間日志不同,進(jìn)程統(tǒng)計(jì)子系統(tǒng)默認(rèn)不激活,它必須啟動(dòng)。在Linux系統(tǒng)中啟動(dòng)進(jìn)程統(tǒng)計(jì)使用accton命令,必須用root身份來運(yùn)行。accton命令的形式為:accton file,file必須事先存在。先使用touch命令創(chuàng)建pacct文件:touch /var/log/pacct,然后運(yùn)行accton:accton /var/log/pacct。一旦accton被激活,就可以使用lastcomm命令監(jiān)測系統(tǒng)中任何時(shí)候執(zhí)行的命令。若要關(guān)閉統(tǒng)計(jì),可以使用不帶任何參數(shù)的accton命令。

lastcomm命令報(bào)告以前執(zhí)行的文件。不帶參數(shù)時(shí),lastcomm命令顯示當(dāng)前統(tǒng)計(jì)文件生命周期內(nèi)記錄的所有命令的有關(guān)信息。包括命令名、用戶、tty、命令花費(fèi)的CPU時(shí)間和一個(gè)時(shí)間戳。如果系統(tǒng)有許多用戶,輸入則可能很長。看下面的例子:

crond F root ?? 0.00 secs Sun Aug 20 00:16

promisc_check.s S root ?? 0.04 secs Sun Aug 20 00:16

promisc_check root ?? 0.01 secs Sun Aug 20 00:16

grep root ?? 0.02 secs Sun Aug 20 00:16

tail root ?? 0.01 secs Sun Aug 20 00:16

sh root ?? 0.01 secs Sun Aug 20 00:15

ping S root ?? 0.01 secs Sun Aug 20 00:15

ping6.pl F root ?? 0.01 secs Sun Aug 20 00:15

sh root ?? 0.01 secs Sun Aug 20 00:15

ping S root ?? 0.02 secs Sun Aug 20 00:15

ping6.pl F root ?? 0.02 secs Sun Aug 20 00:15

sh root ?? 0.02 secs Sun Aug 20 00:15

ping S root ?? 0.00 secs Sun Aug 20 00:15

ping6.pl F root ?? 0.01 secs Sun Aug 20 00:15

sh root ?? 0.01 secs Sun Aug 20 00:15

ping S root ?? 0.01 secs Sun Aug 20 00:15

sh root ?? 0.02 secs Sun Aug 20 00:15

ping S root ?? 1.34 secs Sun Aug 20 00:15

locate root ttyp0 1.34 secs Sun Aug 20 00:15

accton S root ttyp0 0.00 secs Sun Aug 20 00:15

進(jìn)程統(tǒng)計(jì)的一個(gè)問題是pacct文件可能增長得十分迅速。這時(shí)需要交互式地或經(jīng)過cron機(jī)制運(yùn)行sa命令來保證日志數(shù)據(jù)在系統(tǒng)控制內(nèi)。sa命令報(bào)告、清理并維護(hù)進(jìn)程統(tǒng)計(jì)文件。它能把/var/log/pacct中的信息壓縮到摘要文件/var/log/savacct和/var/log/usracct中。這些摘要包含按命令名和用戶名分類的系統(tǒng)統(tǒng)計(jì)數(shù)據(jù)。在默認(rèn)情況下sa先讀它們,然后讀pacct文件,使報(bào)告能包含所有的可用信息。sa的輸出有下面一些標(biāo)記項(xiàng)。

avio:每次執(zhí)行的平均I/O操作次數(shù)。

cp:用戶和系統(tǒng)時(shí)間總和,以分鐘計(jì)。

cpu:和cp一樣。

k:內(nèi)核使用的平均CPU時(shí)間,以1k為單位。

k*sec:CPU存儲完整性,以1k-core秒為單位。

re:實(shí)時(shí)時(shí)間,以分鐘計(jì)。

s:系統(tǒng)時(shí)間,以分鐘計(jì)。

tio:I/O操作的總數(shù)。

u:用戶時(shí)間,以分鐘計(jì)。

例如:

842 173.26re 4.30cp 0avio 358k

2 10.98re 4.06cp 0avio 299k find

9 24.80re 0.05cp 0avio 291k ***other

105 30.44re 0.03cp 0avio 302k ping

104 30.55re 0.03cp 0avio 394k sh

162 0.11re 0.03cp 0avio 413k security.sh*

154 0.03re 0.02cp 0avio 273k ls

56 31.61re 0.02cp 0avio 823k ping6.pl*

2 3.23re 0.02cp 0avio 822k ping6.pl

35 0.02re 0.01cp 0avio 257k md5sum

97 0.02re 0.01cp 0avio 263k initlog

12 0.19re 0.01cp 0avio 399k promisc_check.s

15 0.09re 0.00cp 0avio 288k grep

11 0.08re 0.00cp 0avio 332k awk

用戶還可以根據(jù)用戶而不是命令來提供一個(gè)摘要報(bào)告。例如,鍵入命令"sa -m",將顯示如下內(nèi)容:

885 173.28re 4.31cp 0avk

root 879 173.23re 4.31cp 0avk

alias 3 0.05re 0.00cp 0avk

qmailp 3 0.01re 0.00cp 0avk

syslog設(shè)備

syslog已被許多日志函數(shù)采納,它用在許多保護(hù)措施中。任何程序都可以通過syslog 記錄事件。syslog可以記錄系統(tǒng)事件,可以寫到一個(gè)文件或設(shè)備中,或給用戶發(fā)送一個(gè)信息。它能記錄本地事件或通過網(wǎng)絡(luò)記錄另一個(gè)主機(jī)上的事件。

syslog設(shè)備依據(jù)兩個(gè)重要的文件:/etc/syslogd(守護(hù)進(jìn)程)和/etc/syslog.conf配置文件。習(xí)慣上,多數(shù)syslog信息被寫到/var/adm或/var/log目錄下的信息文件中(messages.*)。一個(gè)典型的syslog記錄包括生成程序的名字和一個(gè)文本信息。它還包括一個(gè)設(shè)備和一個(gè)優(yōu)先級范圍(但不在日志中出現(xiàn))。

每個(gè)syslog消息被賦予下面的主要設(shè)備之一:

LOG_AUTH:認(rèn)證系統(tǒng)login、su、getty等。

LOG_AUTHPRIV:同LOG_AUTH,但只登錄到所選擇的單個(gè)用戶可讀的文件中。

LOG_CRON:cron守護(hù)進(jìn)程。

LOG_DAEMON:其他系統(tǒng)守護(hù)進(jìn)程,如routed。

LOG_FTP:文件傳輸協(xié)議ftpd、tftpd。

LOG_KERN:內(nèi)核產(chǎn)生的消息。

LOG_LPR:系統(tǒng)打印機(jī)緩沖池lpr、lpd。

LOG_MAIL:電子郵件系統(tǒng)。

LOG_NEWS:網(wǎng)絡(luò)新聞系統(tǒng)。

LOG_SYSLOG:由syslogd(8)產(chǎn)生的內(nèi)部消息。

LOG_USER:隨機(jī)用戶進(jìn)程產(chǎn)生的消息。

LOG_UUCP:UUCP子系統(tǒng)。

LOG_LOCAL0~LOG_LOCAL7:為本地使用保留。

syslog為每個(gè)事件賦予幾個(gè)不同的優(yōu)先級:

LOG_EMERG:緊急情況。

LOG_ALERT:應(yīng)該被立即改正的問題,如系統(tǒng)數(shù)據(jù)庫被破壞。

LOG_CRIT:重要情況,如硬盤錯(cuò)誤。

LOG_ERR:錯(cuò)誤。

LOG_WARNING:警告信息。

LOG_NOTICE:不是錯(cuò)誤情況,但是可能需要處理。

LOG_INFO:情報(bào)信息。

LOG_DEBUG:包含情報(bào)的信息,通常只在調(diào)試一個(gè)程序時(shí)使用。

syslog.conf文件指明syslogd程序記錄日志的行為,該程序在啟動(dòng)時(shí)查詢配置文件。該文件由不同程序或消息分類的單個(gè)條目組成,每個(gè)占一行。對每類消息提供一個(gè)選擇域和一個(gè)動(dòng)作域。這些域由tab符隔開:選擇域指明消息的類型和優(yōu)先級;動(dòng)作域指明syslogd接收到一個(gè)與選擇標(biāo)準(zhǔn)相匹配的消息時(shí)所執(zhí)行的動(dòng)作。每個(gè)選項(xiàng)是由設(shè)備和優(yōu)先級組成的。當(dāng)指明一個(gè)優(yōu)先級時(shí),syslogd將記錄一個(gè)擁有相同或更高優(yōu)先級的消息。所以如果指明"crit",那所有標(biāo)為crit、alert和emerg的消息將被記錄。每行的行動(dòng)域指明當(dāng)選擇域選擇了一個(gè)給定消息后應(yīng)該把它發(fā)送到哪兒。例如,如果想把所有郵件消息記錄到一個(gè)文件中,如下所示:

#Log all the mail messages in one place

mail.* /var/log/maillog

其他設(shè)備也有自己的日志。UUCP和news設(shè)備能產(chǎn)生許多外部消息。它把這些消息存到自己的日志(/var/log/spooler)中并把級別限為"err"或更高。例如:

# Save mail and news errors of level err and higher in aspecial file.

uucp,news.crit /var/log/spooler

當(dāng)一個(gè)緊急消息到來時(shí),可能想讓所有的用戶都得到,也可能想讓自己的日志接收并保存:

#Everybody gets emergency messages, plus log them on anther machine

*.emerg *

*.emerg @linuxaid.com.cn

alert消息應(yīng)該寫到root和tiger的個(gè)人賬號中:

#Root and Tiger get alert and higher messages

*.alert root,tiger

有時(shí)syslogd將產(chǎn)生大量的消息。例如,內(nèi)核("kernel"設(shè)備)可能很冗長。用戶可能想把內(nèi)核消息記錄到/dev/console中。下面的例子表明內(nèi)核日志記錄被注釋掉了:

#Log all kernel messages to the console

#Logging much else clutters up the screen

#kern.* /dev/console

用戶可以在一行中指明所有的設(shè)備。下面的例子把info或更高級別的消息送到/var/log/messages,除了mail以外。級別"none"禁止一個(gè)設(shè)備:

#Log anything(except mail)of level info or higher

#Don't log private authentication messages!

*.info:mail.none;authpriv.none /var/log/messages

在有些情況下,可以把日志送到打印機(jī),這樣網(wǎng)絡(luò)入侵者怎么修改日志就都沒有用了。通常要廣泛記錄日志。syslog設(shè)備是一個(gè)攻擊者的顯著目標(biāo)。一個(gè)為其他主機(jī)維護(hù)日志的系統(tǒng)對于防范服務(wù)器攻擊特別脆弱,因此要特別注意。

有個(gè)小命令logger為syslog(3)系統(tǒng)日志文件提供一個(gè)shell命令接口,使用戶能創(chuàng)建日志文件中的條目。

用法:logger 

例如:logger This is a test!

它將產(chǎn)生一個(gè)如下的syslog記錄:Aug 19 22:22:34 tiger: This is a test!

注意,不要完全相信日志,因?yàn)楣粽吆苋菀仔薷乃摹?

程序日志與其他

許多程序通過維護(hù)日志來反映系統(tǒng)的安全狀態(tài)。su命令允許用戶獲得另一個(gè)用戶的權(quán)限,所以它的安全很重要,它的日志文件為sulog。同樣的還有sudolog。另外,像Apache有兩個(gè)日志:access_log和error_log。還有一些常用到的其他日志工具,我們就不一一闡述了,有興趣的讀者可以參考下邊網(wǎng)址的內(nèi)容。

Chklastlog:

ftp://coast.cs.purdue.edu/pub/tools/unix/chklastlog/

chkwtmp:

ftp://coast.cs.purdue.edu/pub/tools/unix/chkwtmp/

dump_lastlog:

ftp://coast.cs.purdue.edu/pub/tools/unix/dump_lastlog.Z

spar:

ftp://coast.cs.purdue.edu/pub/tools/unix/TAMU/

Swatch:

http://www.lomar.org/komar/alek/pres/swatch/cover.html

Zap:

ftp://caost.cs.purdue.edu/pub/tools/unix/zap.tar.gz

關(guān)鍵字:服務(wù)器、日志

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國增值電信業(yè)務(wù)經(jīng)營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網(wǎng)站公安備案編號:44060602000007 交互式欄目專項(xiàng)備案編號:200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎(jiǎng)  警警  手機(jī)打開網(wǎng)站