亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
123下一頁
最近訪問板塊 發(fā)新帖
查看: 15880 | 回復: 22
打印 上一主題 下一主題

好文共享:RedHat Linux常見的日志文件和常用命令  關閉 [復制鏈接]

論壇徽章:
1
榮譽會員
日期:2011-11-23 16:44:17
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2004-12-19 14:59 |只看該作者 |倒序瀏覽
作者:劉志勇 郭聰輝    本文選自:飛思科技產品研發(fā)中心  2004年11月22日

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

  RedHat Linux常用的日志文件

  RedHat Linux常見的日志文件詳述如下
  /var/log/boot.log
  該文件記錄了系統(tǒng)在引導過程中發(fā)生的事件,就是Linux系統(tǒng)開機自檢過程顯示的信息。

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

  /var/log/maillog
  該日志文件記錄了每一個發(fā)送到系統(tǒng)或從系統(tǒng)發(fā)出的電子郵件的活動。它可以用來查看用戶使用哪個系統(tǒng)發(fā)送工具或把數(shù)據(jù)發(fā)送到哪個系統(tǒ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
  



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



  
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或內核標識的方括號、一個冒號和一個空格,最后是消息。該文件有一個不足,就是被記錄的入侵企圖和成功的入侵事件,被淹沒在大量的正常進程的記錄中。但該文件可以由/etc/syslog文件進行定制。由/etc/syslog.conf配置文件決定系統(tǒng)如何寫入/var/messages。有關如何配置/etc/syslog.conf文件決定系統(tǒng)日志記錄的行為,將在后面詳細敘述。

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


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

/var/log/secure
該日志文件記錄與安全相關的信息。該日志文件的部分內容如下:
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生成。在每次用戶登錄時被查詢,該文件是二進制文件,需要使用lastlog命令查看,根據(jù)UID排序顯示登錄名、端口號和上次登錄時間。如果某用戶從來沒有登錄過,就顯示為"**Never logged in**"。該命令只能以root權限執(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等決不應該登錄,如果發(fā)現(xiàn)這些賬戶已經登錄,就說明系統(tǒng)可能已經被入侵了。若發(fā)現(xiàn)記錄的時間不是用戶上次登錄的時間,則說明該用戶的賬戶已經泄密了。

  /var/log/wtmp

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

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

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

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

  /var/run/utmp

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

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

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

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

  /var/log/xferlog

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

  該文件的格式為:第一個域是日期和時間,第二個域是下載文件所花費的秒數(shù)、遠程系統(tǒng)名稱、文件大小、本地路徑名、傳輸類型(a:ASCII,b:二進制)、與壓縮相關的標志或tar,或"_"(如果沒有壓縮的話)、傳輸方向(相對于服務器而言:i代表進,o代表出)、訪問模式(a:匿名,g:輸入口令,r:真實用戶)、用戶名、服務名(通常是ftp)、認證方法(l:RFC931,或0),認證用戶的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默認沒有記錄該日志文件。要啟用該日志文件,必須在/etc/syslog.conf文件中添加一行:kern.* /var/log/kernlog 。這樣就啟用了向/var/log/kernlog文件中記錄所有內核消息的功能。該文件記錄了系統(tǒng)啟動時加載設備或使用設備的情況。一般是正常的操作,但如果記錄了沒有授權的用戶進行的這些操作,就要注意,因為有可能這就是惡意用戶的行為。下面是該文件的部分內容:



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

  具體命令

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

  who命令

  who命令查詢utmp文件并報告當前登錄的每個用戶。who的默認輸出包括用戶名、終端類型、登錄日期及遠程主機。例如,鍵入who命令,然后按回車鍵,將顯示如下內容:


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將報告自從wtmp文件創(chuàng)建或刪改以來的每一次登錄。

  w命令

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


  
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命令用單獨的一行打印出當前登錄的用戶,每個顯示的用戶名對應一個登錄會話。如果一個用戶有不止一個登錄會話,那他的用戶名將顯示相同的次數(shù)。例如,鍵入users命令,然后按回車鍵,將顯示如下內容:
  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只報告該用戶的近期活動,例如,鍵入last ynguo命令,然后按回車鍵,將顯示如下內容:


  
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ù)當前的/var/log/wtmp文件中的登錄進入和退出來報告用戶連接的時間(小時),如果不使用標志,則報告總的時間。例如,鍵入ac命令,然后按回車鍵,將顯示如下內容:
  total 5177.47

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


  
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命令,然后按回車鍵,將顯示每個用戶的總的連接時間:


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


  
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"命令將報告UID為102的用戶;"last -t 7"命令表示限制為上一周的報告。

  進程統(tǒng)計

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

  lastcomm命令報告以前執(zhí)行的文件。不帶參數(shù)時,lastcomm命令顯示當前統(tǒng)計文件生命周期內記錄的所有命令的有關信息。包括命令名、用戶、tty、命令花費的CPU時間和一個時間戳。如果系統(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
  



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


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

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

cpu:和cp一樣。

k:內核使用的平均CPU時間,以1k為單位。

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

re:實時時間,以分鐘計。

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

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

u:用戶時間,以分鐘計。

例如:

  
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ù)用戶而不是命令來提供一個摘要報告。例如,鍵入命令"sa -m",將顯示如下內容:


  
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設備

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

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

每個syslog消息被賦予下面的主要設備之一:


  
LOG_AUTH:認證系統(tǒng)login、su、getty等。
LOG_AUTHPRIV:同LOG_AUTH,但只登錄到所選擇的單個用戶可讀的文件中。
LOG_CRON:cron守護進程。
LOG_DAEMON:其他系統(tǒng)守護進程,如routed。
LOG_FTP:文件傳輸協(xié)議ftpd、tftpd。
LOG_KERN:內核產生的消息。
LOG_LPR:系統(tǒng)打印機緩沖池lpr、lpd。
LOG_MAIL:電子郵件系統(tǒng)。
LOG_NEWS:網絡新聞系統(tǒng)。
LOG_SYSLOG:由syslogd(8)產生的內部消息。
LOG_USER:隨機用戶進程產生的消息。
LOG_UUCP:UUCP子系統(tǒng)。
LOG_LOCAL0~LOG_LOCAL7:為本地使用保留。
syslog為每個事件賦予幾個不同的優(yōu)先級:
LOG_EMERG:緊急情況。
LOG_ALERT:應該被立即改正的問題,如系統(tǒng)數(shù)據(jù)庫被破壞。
LOG_CRIT:重要情況,如硬盤錯誤。
LOG_ERR:錯誤。
LOG_WARNING:警告信息。
LOG_NOTICE:不是錯誤情況,但是可能需要處理。
LOG_INFO:情報信息。
LOG_DEBUG:包含情報的信息,通常只在調試一個程序時使用。
  


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




#Log all the mail messages in one place


mail.* /var/log/maillog


  






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



# Save mail and news errors of level err and higher in aspecial file.
uucp,news.crit /var/log/spooler
  


  當一個緊急消息到來時,可能想讓所有的用戶都得到,也可能想讓自己的日志接收并保存:



#Everybody gets emergency messages, plus log them on anther machine
*.emerg *
*.emerg @linuxaid.com.cn   

  alert消息應該寫到root和tiger的個人賬號中:



#Root and Tiger get alert and higher messages
*.alert root,tiger

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


#Log all kernel messages to the console
#Logging much else clutters up the screen
#kern.* /dev/console


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


#Log anything(except mail)of level info or higher
#Don't log private authentication messages!
*.info:mail.none;authpriv.none /var/log/messages
   


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

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


  用法:logger 

  例如:logger This is a test!

  它將產生一個如下的syslog記錄:Aug 19 22:22:34 tiger: This is a test!

  注意,不要完全相信日志,因為攻擊者很容易修改它的。

  程序日志與其他

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

日志分類方法:

http://csrc.nist.gov/nissc/1998/proceedings/paperD1.pdf

論壇徽章:
0
2 [報告]
發(fā)表于 2004-12-19 15:09 |只看該作者

好文共享:RedHat Linux常見的日志文件和常用命令

好文章,保存先。表示支持。
表示最強烈的支持。

繼續(xù)學習。。。。

論壇徽章:
0
3 [報告]
發(fā)表于 2004-12-19 19:18 |只看該作者

好文共享:RedHat Linux常見的日志文件和常用命令

強烈支持.

論壇徽章:
0
4 [報告]
發(fā)表于 2004-12-19 19:27 |只看該作者

好文共享:RedHat Linux常見的日志文件和常用命令

先支持

在慢慢看

論壇徽章:
1
榮譽版主
日期:2011-11-23 16:44:17
5 [報告]
發(fā)表于 2004-12-20 12:39 |只看該作者

好文共享:RedHat Linux常見的日志文件和常用命令

干脆補充齊一點

LINUX常用命令



1 文件與目錄操作命令

1.1文件內容查詢命令

grep、fgrep、egrep
  1. 語法:grep[選項][查找模式][文件名1,文件名2,……]
復制代碼

選項:
-E 每個模式作為一個擴展的正則表達式對待
-F 每個模式作為一組固定字符串對待,而不作為正則表達式
-i 比較時不區(qū)分大小寫
-l 顯示首次匹配匹配串所在的文件名并用換行符將其分開。當在文件中多次出現(xiàn)匹配串時,不重復顯示次文件名;
-x 只顯示整行嚴格匹配的行



1.2文件查找命令 find、locate

語法:
  1. find 起始目錄 尋找條件 操作
復制代碼

以名稱和文件屬性查找
-name‘字串‘ 查找文件名匹配所給字串的所有文件,字串內可用通配符*、?、[]。
-lname‘字串‘ 查找文件名匹配所給字串的所有符號鏈接文件,字串內可用通配符*、?、[]。
-gid n 查找屬于ID號為n的用戶組的所有文件。
-uid n 查找屬于ID號為n的用戶的所有文件。
-group‘字串‘ 查找屬于用戶組名為所給字串的所有的文件。
-user‘字串‘ 查找屬于用戶名為所給字串的所有的文件。
-path‘字串‘ 查找路徑名匹配所給字串的所有文件,字串內可用通配符*、?、[]。
-perm 權限 查找具有指定權限的文件和目錄,權限的表示可以如711、644。
-type x 查找類型為 x的文件,

語法:locate 相關字


1.3文件的復制、刪除和移動命令

文件復制命令

  1. cp [選項] 源文件或目錄 目標文件或目錄
復制代碼

選項:
- a 通常在拷貝目錄時使用
-d 拷貝時保留連接
-f 刪除已經存在的目標文件而不提示
-i 和f選項相反
-p 此時cp除復制源文件內容外,還將其修改的時間和訪問權限也復制到新文件中
-r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下的所有的子目錄和文件,此時目標文件必須為一個目錄名;
-l 不作拷貝,只是鏈接文件


文件移動命令
  1. mv[選項] 源文件或目錄 目標文件或目錄
復制代碼
-i 交互式操作
-f 禁止交互式操作


文件刪除命令
  1. rm[選項] 文件…
復制代碼
-f 忽略不存在的文件,從不給出提示
-r 指示rm將參數(shù)中列出的全部目錄和子目錄均遞歸地刪除
-i 進行交互式刪除



1.4文件鏈接命令

  1. ln [選項] 目標 [鏈接名] 或 ln [選項] 目標 目錄
復制代碼
選項:
- s 建立符號鏈接



1.5目錄的創(chuàng)建和刪除命令

mkdir 創(chuàng)建一個目錄
語法:
  1. mkdir [選項] dirname
復制代碼

選項:
- m 對新建目錄設置存取權限
-p 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,系統(tǒng)將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。

rmdir 刪除空目錄
語法:
  1. rmdir [選項] dirname
復制代碼
選項:
- p 遞歸刪除目錄dirname,當子目錄刪除后其父目錄為空時,也一同被刪除。



1.6改變工作目錄,顯示目錄內容命令

1、改變工作目錄
  1. cd [directory]
復制代碼


2、顯示當前工作的目錄的絕對路徑:
  1. pwd
復制代碼


3、顯示目錄內容:
  1. ls [選項] [目錄或是文件]
復制代碼
選項:
- a 顯示指定目錄下所有子目錄與文件,包括隱藏文件;
-c 按照文件的修改時間排序
-C 分成多列顯示各項
-d 如果參數(shù)是目錄,只顯示其名稱而不顯示其下的個文件
-F 在目錄名后面標記“/”,可執(zhí)行文件后面標記“*”,符號鏈接后面標記“@”,管道(或FIFO)后面標記“|”,socket文件后面標記“=”。
-l 以長格式來顯示文件的詳細信息
-L 若指定的名稱為一個符號鏈接,則顯示鏈接所指向的文件
-t 顯示時按修改時間而不是名字排序
-u 顯示時按文件上次存取的時間而不是名字排序


4、改變文件或目錄的訪問權限命令

  1. chmod [who] [+| - | = ] [mode] 文件名?
復制代碼
Who選項:
- u表示用戶,即文件和目錄的所有者
-g表示同組用戶
-o(other)表示其他用戶
-a (all)表示所有用戶
操作符號:
+ 添加某個權限 - 取消某個權限
= 賦予給定權限并取消其他所有的權限(如果有的話)
mode 選項:
- r 可讀
-w 可寫
-x 可執(zhí)行

  1. chgrp [-R] group filename? 改變目錄或文件所屬的組
復制代碼

  1. chown [-Rv] 用戶或組 文件
復制代碼



1.7備份與壓縮命令

1、tar命令 為文件和目錄創(chuàng)建檔案
語法:
  1. tar [主選項+輔助選項] 文件或者目錄
復制代碼
u 主選項
c 創(chuàng)建新的檔案文件。如果用戶想備份一個目錄或是一些文件,則選此項
r 把要存檔的文件追加到檔案文件的末尾
t 列出檔案文件的內容,查看已經備份了哪些文件;
u 更新文件
x 從檔案文件中釋放文件;
u 輔助選項
b 該選項為磁帶機設定的,其后跟一位數(shù)字,用來說明區(qū)塊的大小,系統(tǒng)預設值為20
f 使用檔案文件或設備,這個選項通常是必選的
k 保存已經存在的文件。例如把某個文件還原,在還原的過程中,遇到相同的文件,不會進行覆蓋;
m 在還原文件時,把所有文件的修改時間設定為現(xiàn)在;
M 創(chuàng)建多卷的檔案文件,以便在幾個磁盤中存放;
v 詳細報告tar處理的文件信息
w 每一步都要求確認
z 用gzip來壓縮/解壓縮文件


2、gzip命令 壓縮/解壓縮命令
語法:
  1. gzip [選項] 壓縮(解壓縮)的文件名
復制代碼
選項:
-c 將輸出寫到標準輸出上,并保留原有文件
-d 將壓縮文件解壓
-l 顯示每個壓縮文件的詳細信息
-r 遞歸式地查找指定目錄并壓縮其中的所有文件或者是解壓縮
-t 測試、檢查壓縮文件是否完整
-v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比


3、unzip 命令
用MS windows下的壓縮軟件winzip壓縮的文件在linux系統(tǒng)下展開
語法:
  1. unzip [選項] 壓縮文件名.zip
復制代碼
選項:
-x 文件列表 解壓縮文件,但不包括指定的file文件
-v 查看壓縮文件目錄,但不解壓
-t 測試文件有無損壞 ,但不解壓
-d 目錄 將壓縮文件解到指定目錄下
-z 只顯示壓縮文件的注解
-n 不覆蓋已經存在的文件
-o 覆蓋已經存在的文件且不要求用戶確認
-j 不重建文檔的目錄結構,把所有文件解壓到同一目錄下



1.8在LINUX環(huán)境下運行DOS命令

linux系統(tǒng)提供了一組稱為mtools的可移植工具,可以讓用戶輕松地從標準的DOS軟盤上讀寫文件和目錄。
mcd 目錄名 改變MSDOS目錄
mcopy 源文件 目標文件 在MSDOS和UNIX之間復制文件;
mdel 目錄名 刪除MSDOS目錄
mdir 目錄名 顯示MSDOS目錄
mformat 驅動器號 在低級格式化的軟盤上創(chuàng)建MSDOS文件系統(tǒng)
rnlabel 驅動器號 產生MSDOS卷標
mmd 目錄名 刪除MSDOS目錄
mren 源文件 目標文件 重新命名已存在的MSDOS文件
mtype 文件名 顯示MSDOS文件的內容



2 設備管理命令

1)linux采用下面的形式定義一個IDE硬盤:
  1. /dev/hd[drive][partition]
復制代碼


2)SCSI硬盤使用同樣的機制表示:
  1. /dev/sd[drive][partition]
復制代碼


3)對于一般的LINUX分區(qū),可以用mkfs將其格式化并生成文件系統(tǒng),命令如下:
  1. mk2fs –c <partition> <size>
復制代碼


4)裝載文件系統(tǒng):
  1. mount –t ext2 [-o optioms] partition mountpiont
復制代碼

其中,
-t為指定裝載文件系統(tǒng)的類型;
-o指定一些選項,如只讀ro,可讀可寫rw等等;
partition定義分區(qū)名稱;
mountpiont定義文件系統(tǒng)被裝載的目錄名稱。


5)裝載CD-ROM文件系統(tǒng):
  1. mount –t iso9660 –r /dev/cdrom /mnt/cdrom
復制代碼


6)裝載軟驅文件系統(tǒng):
  1. mount –t msdos –rw /dev/fd0 /dev/mnt/floppy
復制代碼


7)卸載文件系統(tǒng)
  1. umount /mnt/cdrom
復制代碼


磁帶設備的安裝要注意以下幾點:
1、 首先要選擇一個唯一的SCSI ID號,然后再將設備鏈接到適當?shù)奈恢?br />
2、 選擇驅動程序。

3、 生成設備文件。SCSI磁帶設備的主要設備號是9,次要設備號是0。設備文件名通常是/dev/nrst0(不支持回繞的磁帶設備)或/dev/nst0(支持回繞的磁帶設備)

用 ls /dev/*rst*
檢查磁帶設備文件是否存在,如果不存在,用
mknod –m 666 /dev/nrst0 c 9 9
mknod –m 666 /dev/rst0 c 9 0 生成

4、 可以對塊長度、緩存、磁帶密度等參數(shù)進行一些設置,例如
mt setblk 20 將塊長度指定為20
mt setblk 0 指定塊程度沒有限制

5、 通過檢查系統(tǒng)的啟動信息可以確定系統(tǒng)是否識別了新的磁帶設備。用dmesg命令,查看是否有以下類似的信息:
aha274x:target 4now synchronous at 4.4Mb/s
Vendor:TANDBERG Model:TDC 3800 Rev: =05:
Type: Sequential-Access ANSI SCSI revision: 02
Detected scsi tape st0 at scsi0, id4, lun0
Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total



3 軟件包管理命令

3.1軟件安裝的步驟

在LINUX系統(tǒng)上安裝軟件的步驟有:
1、 查找所要安裝軟件的源文件
2、 把源文件解開放到一個目錄中,命令如下:
tar zxvf <源文件名>
3、 針對本操作系統(tǒng)配置源文件?梢允蔷庉媘ake文件或其他文件,也可能是運行該軟件自帶的自動配置工具,如./configure
4、 make源文件,通常是運行make命令,即執(zhí)行 make
5、 安裝二進制文件和其他支撐文件,運行命令: make install
6、 最后,完成所有其他必須的配置



3.2軟件包管理命令

rpm –ivh <軟件包>
// 安裝指定的軟件包,并在安裝過程中用#表示安裝的進度
rpm –Uvh <軟件包>
// 更新一個已經存在的或還沒安裝好的軟件包,并刪除所有該軟件包的舊版本。
rpm –e
//卸載一個rpm軟件包
rpm –qa
// 查看系統(tǒng)中已經安裝的軟件包
rpm –q <軟件包>
// 查看系統(tǒng)中某個軟件包的版本號;
rpm –qlp <軟件包>
//列出某個軟件包中的所有文件
rpm –qf <軟件包>
//找出一個文件屬于哪個軟件包



4 LINUX系統(tǒng)常用命令

4.1 與系統(tǒng)管理有關的命令

Wall (Write All)
對全部已 登錄的用戶發(fā)送信息,用戶可以先反要發(fā)送的信息寫好存入一個文件中,然后輸入:
# wall < FileName

例:Wall ‘Thank you !’
Write
向某一用戶發(fā)送信息。
Write xxq
hello
輸入Ctrl+C組合即可終止


Shutdown命令
  1. Shutdown [選項] [時間] [警告信息]
復制代碼
-k 并不真正關機,而只是發(fā)出警告信息給所有的用戶。
-r 關機后立即重新啟動。
-h 關機后不重新啟動。
-f 快速關機,啟動時跳過fsck。
-n快速關機,不經過init程序。
-c 取消一個已經運行的shutdown
例:系統(tǒng)馬上關機:Shutdown –h now


Free命令
查看當前系統(tǒng)內存的使用情況,
  1. Free [-b] [-k] [-m]
復制代碼
  1. -b 以字節(jié)為單位顯示。
  2. -k 以K字節(jié)為單位顯示。
  3. -m 以M字節(jié)為單位顯示。
復制代碼


Uptime
顯示系統(tǒng)已經運行了多長的時間:現(xiàn)在時間、系統(tǒng)已經運行的時間、目前有多少登錄用戶、系統(tǒng)在過去的1分鐘、5分鐘和15分鐘內的平均負載。



4.2與用戶有關的命令

Passwd命令
設置、更換用戶口令。
  1. Passwd [用戶名]
復制代碼


Su
使一個普通的用戶具有超級用戶的權利,離開可用EXIT命令。


4.3其它命令

Echo命令
在顯示器上顯示一段文字,一般起到一個提示的作用。
  1. echo [-n] 字符串
復制代碼


Cal命令
顯示某年某月的日歷。
  1. cal [選項] [月[年]]
復制代碼
選項的含義:
-j 顯示也給定月中的每一天是一年中的和幾天(從1月1日算起)。
-y 顯示也整年的日歷。


Date命令
date命令的功能是顯示和設置系統(tǒng)日期和時間。


4.4磁盤管理

磁盤空間管理

df命令
檢查文件系統(tǒng)的磁盤空間占用局部。
  1. Df [選項]
復制代碼
-a 顯示所有文件系統(tǒng)的磁盤使用情況,包括0塊(block)的文件系統(tǒng),如/proc文件系統(tǒng)。
-k 以K字節(jié)為單位顯示。
-i 顯示i節(jié)點信息,而不是磁盤塊。
- t 顯示各指定類型的文件系統(tǒng)的磁盤空間使用情況。
-x 列出不是某一指定類型文件系統(tǒng)的磁盤窨使用情況(與t相反)。
-T 顯示文件系統(tǒng)類型。


du命令
du的英文原意為disk usage,含義為顯示磁盤空間的使用情況。功能是統(tǒng)計目錄(或文件)所占磁盤空間的大小。
  1. du [選項] [Names…]
復制代碼
-s 對每人Names 參數(shù)只給也占用的數(shù)據(jù)塊總數(shù)。
-a 遞歸地顯示指定目錄中各文件用子孫目錄中的各文件占用的數(shù)據(jù)塊總數(shù)。
-b 以字節(jié)為單位列也磁盤窨使用情部(缺省以K字節(jié)為單位)
-k 以1024字節(jié)為單位列也磁盤空間使用情況。
-c 最后再加上一個總計(系統(tǒng)缺。
-l 計算所有的文件大小,對硬鏈接文件,則計算多次。
-x 跳過在不同文件系統(tǒng)上的目錄不予統(tǒng)計。


dd命令
把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝的過程中可以進行格式轉換。語法:
  1. dd。圻x項]
復制代碼
if =輸入文件(或設備名稱)。
of =輸出文件(或設備名稱)。
ibs = bytes 一次讀取bytes字節(jié),即讀入緩沖區(qū)的字節(jié)數(shù)。
skip = blocks 跳過讀入緩沖區(qū)開頭的ibs*blocks塊。
obs = bytes 一次寫入bytes字節(jié),即寫 入緩沖區(qū)的字節(jié)數(shù)。
bs = bytes 同時設置讀/寫緩沖區(qū)的字節(jié)數(shù)(等于設置obs和obs)。
cbs = bytes 一次轉換bytes字節(jié)。
count = blocks 只拷貝輸入的blocks塊。
conv = ASCII 把EBCDIC碼轉換為ASCII碼。
conv = ebcdic 把ASCII碼轉換為EBCDIC碼。
conv = ibm 把ASCII碼轉換為alternate EBCDIC碼。
conv = blick 把變動位轉換成固定字符。
conv = ublock 把固定們轉換成變動位
conv = ucase 把字母由小寫變?yōu)榇髮憽?br /> conv = lcase 把字母由大寫變?yōu)樾憽?br /> conv = notrunc 不截短輸出文件。
conv = swab 交換每一對輸入字節(jié)。
conv = noerror 出錯時不停止處理。
conv = sync 把每個輸入記錄的大小都調到ibs的大。ㄓ胕bs填充)。


fdformat命令
低級格式化軟盤。
  1. format [-n] device
復制代碼
-n 格式化后不做檢驗



4.5常用的網絡命令

FTP命令

Telnet命令。

Netstat命令
-a 顯示所有的scoket,包括正在監(jiān)聽和。
-c 每隔1秒就重新顯示一遍,直到用戶中斷它。
-i 顯示所有網絡接口的信息,格式同”ifconfig –e”
-n 以網絡IP地址代替名稱,顯示也網絡連接情形。
-r 顯示核心路由表,格式同”route –e:。
-t 顯示TCP協(xié)議的連接情況。
-u 顯示UDP協(xié)議的連接情況。
-v 顯示正在進行的工作。


nslookup命令。

finger命令,功能是查詢用戶的信息。

ping命令
(用戶和組的管理可以使用工具:TurboUserCfg或是XturboUserCfg。)


4.6有關進程的命令。

進程和啟動

  1. at [-V] [-q] [-f文件名] [-mldbv]時間

  2. at –c 作業(yè) [作業(yè)….]

  3. AT命令啟動的進程系統(tǒng)只執(zhí)行一次。

  4. batch [-V] [-q 隊列] [-f 文件名] [-mv] [時間]
  5. 在系統(tǒng)負載較小時,資源比較空閑時執(zhí)行。

  6. cron命令
  7. 按一定的時間間隔執(zhí)行命令。

  8. crontab命令
  9. 用于安裝、刪除或列出用于驅支cron后臺進程的表格。
復制代碼


進程查看

  1. who命令。

  2. w命令
  3. 是一個比who命令更強大的命令
  4. w –[husfV] [user]
  5. -h 不顯示標題。
  6. -u 當列出當前進程和CPU時間時忽略用戶名。
  7. -s 使用短模式。不顯示登錄時間JCPU和PCPU時間。
  8. -f 切換顯示FROM項,也就是遠程主機名項。
  9. -V 顯示版本信息。

  10. user 只顯示指定用戶的情況。

  11. ps命令。
  12. -e 顯示所有進程。
  13. -f 全格式
  14. -h 不顯示標題。
  15. -l 長格式。
  16. -w 寬輸出。
  17. a 顯示終端上所有進程,包括其他用戶的進程。
  18. r 只顯示正在運行的進程。
  19. x 顯示沒有控制終端的進程。
  20. top 命令
  21. 動態(tài)顯示系統(tǒng)當前的進程和其他狀況。
復制代碼



5系統(tǒng)的啟動過程。

5.1初始啟動

在PC機啟動時,BIOS從指定的啟動設備中讀入“主引導記錄”(MBR)。MBR的格式是:
地址偏移量 內容 大小
+00 h 可執(zhí)行的代碼(啟動模塊) 可能變化
+1BE h 第一分區(qū)表項 16字節(jié)
+1CE h 第二分區(qū)表項 16字節(jié)
+1DE h 第三分區(qū)表項 16字節(jié)
+1EE h 第四分區(qū)表項 16字節(jié)
+1FE h 可執(zhí)行的標記(AA55 h) 2字節(jié)

啟動模塊包含足以裝入操作系統(tǒng)的代碼,或者是第二步的加載代碼的位置。啟動模塊需要使用BIOS調用來從磁盤裝入數(shù)據(jù),而這些中斷調用,如INT 13h等,限制了最大磁盤柱面號為1023。這也就是說啟動模塊需要加載的一切內容,如初始內存磁盤、內核、啟動的時間信息等,必須存放在1024個柱面以內。
在MBR中只有四個分區(qū)表項,每個表項的格式如下:

地址偏移 內容 大小
+00h 分區(qū)狀態(tài):00代表非啟動分區(qū),80h代表啟動分區(qū) 1字節(jié)
+01h 分區(qū)的起始位置 磁頭 1字節(jié)
+02h 分區(qū)的起始位置 柱面和扇區(qū) 1字節(jié)
+04h 分區(qū)的類型 1字節(jié)
+05h 分區(qū)的結束位置 磁頭 1字節(jié)
+06h 分區(qū)的結束位置 柱面和扇區(qū) 1字節(jié)
+08h 在主引導區(qū)和本分區(qū)的第一個扇區(qū)間的扇區(qū)數(shù)目 4字節(jié)
+0Ch 分區(qū)內的扇區(qū)數(shù)目 4字節(jié)


5.2 Linux的啟動過程

1啟動的命令行參數(shù)

在Linux啟動時,它處理所有傳遞給它的命令行參數(shù)。這可以影響Linux的運行方式。命令行參數(shù)包括:
mem=xxxM:定Linux可以使用的內存大小。這在用戶的計算機系統(tǒng)有超過64MB的內存時才需要。因為從前的主板只對第一個64MB內存進行緩存,使用超過64MB的內存會使整個計算機的性能下降,所有內存均按無緩存的速度運行。
single:使Linux按單用戶方式啟動,缺省方式是多用戶方式。
root=/dev/xxx:指定Linux要安裝為根文件系統(tǒng)的設備。
init=<file>:指定作為初始化進程的文件。
initrd=<dev>:指定作為初始內存磁盤的設備。
ro:指定根文件系統(tǒng)為只讀。
rw:指定根文件系統(tǒng)為可讀可寫。



2 Init進程

在內核初始化自身和找到的硬件設備后,在后臺啟動進程init(/sbin/init),init進程號1運行。
在UNIX世界中有許多啟動過程的版本,一些是基于系統(tǒng)V,一些是基于BSD。大多數(shù)Linux版本使用系統(tǒng)V的實現(xiàn)方法,在這里描述的就是這樣。
init是由文件/etc/inittab內容和功能控制的,隨啟動模式是單用戶或多用戶而不同。
單用戶模式:init進程忽略/etc/inittab文件,在執(zhí)行少數(shù)幾個腳本程序后調用/dev/console shell。這樣,用戶就可以有了一個shell,而且可以執(zhí)行一定限度的任務。
多用戶模式:init進程把系統(tǒng)帶入/etc/inittab文件指定的運行級別。Init通過標準的Linux方法進入一個指定的進行級別。



3.進行級別

Linux與其他UNIX操作系統(tǒng)一樣,可以任何時刻處于任何一個運行級別。這些運行級別提供的功能不同,為主要是由于其運行的服務方程序(后臺daemon)的不同造成的。Linux共有6種運行級別。
0:關閉計算機或終止計算機運行,這個級別就是系統(tǒng)停止運行。
1:單用戶啟動級別,系統(tǒng)只有一個用戶,就是root,該用戶在控制臺登錄。
2:多用戶運行級別,但無網絡功能。在這個運行級別,網絡功能沒有啟動,但是系統(tǒng)允許多個用戶登錄,可以通過虛擬控制臺或串行線路。
3:多用戶模式,有網絡功能。在這個運行級別,所有標準網絡服務均被啟動。
4:目前沒有實現(xiàn)。
5:X11運行級別,在這個運行級別,X服務器軟件運行,提供圖形界面的登錄方式。
6:系統(tǒng)重新啟動。

查詢當前運行級別:runlevel;

4在啟動過程中運行的腳本
在init進程運行時,它負責查看缺省的運行級別,并進入該運行級別。這是通過運行在/etc/rc.d/rcX.d目錄下的腳本程序來實現(xiàn)的,其中X代表運行的級別,即一個運行級別對應一個目錄。不同的字母開頭的文件有不同的作用。其中:
以K開頭的腳本程序是系統(tǒng)離開某個運行級別時執(zhí)行的,作用是停止某種服務。當系統(tǒng)從某個支持級別變?yōu)槠渌墑e時,首先要進行原運行級別所對應的所有K程序。
以S開頭的腳本程序是系統(tǒng)進入某個運行級別時所執(zhí)行的,作用是啟動某種服務。當系統(tǒng)改變?yōu)槟硞運行級別時,就要運行新運行級別所對應的所有S程序。

5增加啟動腳本程序
用戶可能有一些特定的硬件設備要初始化,或需要在系統(tǒng)啟動時初始化一些其他應用程序,用戶可以增加自己的初始化腳本程序來完成這些工作。通常步驟是:
復制一個已經存在的腳本,這樣可以得到一個通用的框架格式。
修改這個腳本,以完成自己的需求,要注意使程序可以處理啟動和關閉的參數(shù),盡管可能關閉處理什么也不需要干。
把這個肢本拷貝到/etc/rc.d/init.d目錄下,命名為”serv”。
按下面的方法在相應的目錄下建立運行控制鏈接:
  1. ln –s ../init.d/serv/etc/rc.d/rc3.d/s99 serv
復制代碼

進行測試。


6 LILO和其他的啟動模塊
要啟動Linux,啟動模塊是必須的。一般用于Linux的啟動模塊是LILO,LILO用自己的主引導區(qū)代替一般的主引導區(qū)。LILO可以通過修改/etc/lilo.conf文件內容來進行配置,對引導區(qū)內容的更新通過lilo命令來完成。
下面給也了一個裝有DOS,TurboLinux3.4.0和RedHat 5.2系統(tǒng)的計算機的lilo.conf文件。在例子中的數(shù)字標號是用戶加上去并要在文中詳細解釋的。
  1. # more /etc/lilo.conf
  2. boot=dev/had
  3. map=/boot/map
  4. instll/boot/boot.b
  5. prompt
  6. #表示啟動盤是/dev/had,這是主IDE硬盤。
  7. timeout=50
  8. #表示等待用戶輸入的時間是50秒。
  9. default=TL3.4
  10. other=dev/hda1
  11. #表示如果在上述的時間內沒有輸入,缺省的啟動系統(tǒng)是TL3.4,即TurboLinux 3.4.0
  12. label=dos
  13. table=dev/had
  14. #表示如果在LILO提示用戶輸入啟動系統(tǒng)時,用戶按了<Tab>鍵,各個系統(tǒng)將以label的內容顯示出來,供用戶選擇。
  15. image=/mnt/tl3.4/boot/vmlinuz
  16. label=TL3.4
  17. root=/dev/hda3
  18. read-only
復制代碼

TurboLinux的啟動文件,/mnt/tl3.4/boot/vmlinuz被確定,根文件系統(tǒng)在/dev/hda3,根文件系統(tǒng)是只讀方式的。

  1. image=/mnt/rh5.2/boot/vmlinuz-2.0.36-0.7
  2. label=RH5.2
  3. root=/dev/hda4
  4. read-only
復制代碼

RedHat的啟動文件,/mnt/rh5.2/boot/vmlinuz-2.0,36-0.7被確定,根文件系統(tǒng)在/dev/hda4,根文件系統(tǒng)可讀寫。



6 LINUX引導盤創(chuàng)建

6.1 在MS Windows 9x/2000下創(chuàng)建引導盤

可以在MS Windows 9x/2000下創(chuàng)建引導盤,步驟如下:
1.  假定當前的CD-ROM驅動器是D:先將Red hat cd-rom盤放在驅動器內,在MS-DOS shell窗口中運行以下命令:
d:/dosutils/rawrite
2. rawrite實用程序將會立即顯示如下提示信息:
Enter disk image source file name:
Please insert a formmated diskette into drive A: and press the enter key
3.輸入 images\boot.img 作為鏡像源文件,現(xiàn)在 rawirte 會立即顯示如下提示信息:
Enter target diskette drive:
4. 輸入適當?shù)尿寗悠髅?br /> 5.將格式化的空盤插入到軟驅中,按回車鍵繼續(xù)
6.rawrite實用程序將把boot.img鏡像到磁盤中,操作完畢;



6.2 在LINUX下創(chuàng)建引導盤
步驟:
根據(jù)常規(guī)裝上REDHAT CD-ROM盤,這里假定已經把系統(tǒng)裝在/mnt/cdrom目錄下,F(xiàn)在應把當前目錄更改成/mnt/cdrom/images,以便存放引導鏡像文件;
假定軟驅是/dev/fd0,使用的是1.44 M軟盤,運行以下命令:
dd if=boot.img of=/dev/fd0 bs=1440k
這樣便創(chuàng)建了所需的引導盤。還可以創(chuàng)建輔助鏡像軟盤,只需把上面命令中的if=boot.img該成if=supp.img語句即可。

論壇徽章:
1
榮譽會員
日期:2011-11-23 16:44:17
6 [報告]
發(fā)表于 2004-12-20 12:59 |只看該作者

好文共享:RedHat Linux常見的日志文件和常用命令

謝謝wingger兄補充

論壇徽章:
1
榮譽版主
日期:2011-11-23 16:44:17
7 [報告]
發(fā)表于 2004-12-20 13:21 |只看該作者

好文共享:RedHat Linux常見的日志文件和常用命令

[quote]原帖由 "寂寞烈火"]謝謝wingger兄補充[/quote 發(fā)表:


又喝高了

論壇徽章:
1
榮譽版主
日期:2011-11-23 16:44:17
8 [報告]
發(fā)表于 2004-12-20 13:42 |只看該作者

好文共享:RedHat Linux常見的日志文件和常用命令

mesg指令

mesg命令設定是否允許其他用戶用write命令給自己發(fā)送信息。如果允許別人給自己發(fā)送信息,輸入命令:

# mesg y

否則,輸入:

# mesg n

對于超級用戶,系統(tǒng)的默認值為 n;而對于一般用戶系統(tǒng)的默認值為y。 如果mesg后不帶任何參數(shù),則顯示當前的狀態(tài)是y還是n.。



sync命令

   sync命令是在關閉Linux系統(tǒng)時使用的。 用戶需要注意的是,不能用簡單的關閉電源的方法關閉系統(tǒng),因為Linux象其他Unix系統(tǒng)一樣,在內存中緩存了許多數(shù)據(jù),在關閉系統(tǒng)時需要進行內存數(shù)據(jù)與硬盤數(shù)據(jù)的同步校驗,保證硬盤數(shù)據(jù)在關閉系統(tǒng)時是最新的,只有這樣才能確保數(shù)據(jù)不會丟失。一般正常的關閉系統(tǒng)的過程是自動進行這些工作的,在系統(tǒng)運行過程中也會定時做這些工作,不需要用戶干預。 sync命令是強制把內存中的數(shù)據(jù)寫回硬盤,以免數(shù)據(jù)的丟失。用戶可以在需要的時候使用此命令。該命令的一般格式為:

   sync




free命令

free命令的功能是查看當前系統(tǒng)內存的使用情況,它顯示系統(tǒng)中剩余及已用的物理內存和交換內存,以及共享內存和被核心使用的緩沖區(qū)。

該命令的一般格式為: free [-b | -k | -m] 命令中各選項的含義如下:

-b 以字節(jié)為單位顯示。

-k 以K字節(jié)為單位顯示。

-m 以兆字節(jié)為單位顯示。


date命令

date命令的功能是顯示和設置系統(tǒng)日期和時間。

該命令的一般格式為: date [選項] 顯示時間格式(以+開頭,后面接格式)

date 設置時間格式

命令中各選項的含義分別為:

-d datestr, --date datestr 顯示由datestr描述的日期

-s datestr, --set datestr 設置datestr 描述的日期

-u, --universal 顯示或設置通用時間

時間域

% H 小時(00..23)

% I 小時(01..12)

% k 小時(0..23)

% l 小時(1..12)

% M 分(00..59)

% p 顯示出AM或PM

% r 時間(hh:mm:ss AM或PM),12小時

% s 從1970年1月1日00:00:00到目前經歷的秒數(shù)

% S 秒(00..59)

% T 時間(24小時制)(hh:mm:ss)

% X 顯示時間的格式(%H:%M:%S)

% Z 時區(qū) 日期域

% a 星期幾的簡稱( Sun..Sat)

% A 星期幾的全稱( Sunday..Saturday)

% b 月的簡稱(Jan..Dec)

% B 月的全稱(January..December)

% c 日期和時間( Mon Nov 8 14:12:46 CST 1999)

% d 一個月的第幾天(01..31)

% D 日期(mm/dd/yy)

% h 和%b選項相同

% j 一年的第幾天(001..366)

% m 月(01..12)

% w 一個星期的第幾天(0代表星期天)

% W 一年的第幾個星期(00..53,星期一為第一天)

% x 顯示日期的格式(mm/dd/yy)

% y 年的最后兩個數(shù)字( 1999則是99)

% Y 年(例如:1970,1996等)

注意:只有超級用戶才有權限使用date命令設置時間,一般用戶只能使用date命令顯示時間。

論壇徽章:
1
榮譽會員
日期:2011-11-23 16:44:17
9 [報告]
發(fā)表于 2004-12-20 13:58 |只看該作者

好文共享:RedHat Linux常見的日志文件和常用命令

亂啦!題跑得太遠了吧!

論壇徽章:
0
10 [報告]
發(fā)表于 2004-12-27 01:09 |只看該作者

好文共享:RedHat Linux常見的日志文件和常用命令

精華!
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP