blog.wuhui.sh.cn 分享知识 交流技术 postmaster {at} wuhui.sh.cn

Linux日志系统的基本概要

上一篇 / 下一篇  2008-08-19 14:06:34 / 个人分类:Linux

各种重要的日志默认在/var/log下,一般用tail或cat打开阅读,不能cat的日志,如utmp wtmp日志,这种类型日志以2进制记录,一般在用户环境$PATH下有同名程序或相关命令可以用来读取该种日志,
e7~n*['?Dkohp0如:DOIT博客cPkFL
who
^+uT2f!q1k T"@0fingerDOIT博客6~C8VAF$`J
users
.J8x-o T(VIO)?@0~~~~~~~~~~~utmp记录
r T6a\2a$S0dmesg
,{#d9hLT,x;dI0
lastlogDOIT博客9TVc9M7{0Zj
last/ac
P/X+B-Z R \8sV0Oe-k0~~~~~ wtmp~DOIT博客z-E z&FXr.Y

E+i+HQEe0e.Y0SYSLOG日志级别:DOIT博客"T8cg(q:?9Uf RQ
[emerg]DOIT博客$\?1x4i5kR-S
非常状态
ibsDQ#uJ,~"e0[alert]DOIT博客6rq-r^4hm+G
警报
T$Ri#g"tO0[crit]DOIT博客1B~oM!zb"J3e)F"Ut
临界DOIT博客uod#h e(C'U3[
[err]DOIT博客fwW(xD Q m#D
错误
S_!EJ1n0[warn]DOIT博客:X`yj:z
警告
:yi6p-zD0[notice]
S7rs)g-[`g0
注意DOIT博客G.B*_5J!@Y2X0tG
[info]DOIT博客!q4m9@ lk3D$v'P
信息
6xfN+U1a0[debug]DOIT博客*U;FfA U'm?E
debug
*CA%Kty/@6Y0[none]DOIT博客dT c"cG I*@

/etc/syslog.conf用于定义一般的日志文件
R| F)oz"`2g9@0DOIT博客^ ZH H `E
如:
注:“*”代表“every”代表“;”是分隔符,是多个服务间的分隔符。
`;_pn1])c_1D0*.*;news,cron,mail.none    /var/log/messageDOIT博客X,D6RI#rw
左半部分:(按语法顺序)当任意服务(第一个*)产生了任意消息(第二个*并且news,cron,mail服务不记录(最后的none);DOIT博客 Z)A0bDiY
(按汉语语法解释)除了news,cron,mail外的任何服务产生的任何级别的消息;右半部分:这些消息会被写入/var/log/message文件。DOIT博客n-a#Ht J
DOIT博客$nv3g6Jd"v3u h
DOIT博客`(F\!hI
/etc/logrotate.conf用于定义循环日志
语法:
3Yy(P!B"L0/
路径/日志文件{
-B:ST w3W4k&d-LQ0
{n H_U,h nl&j0#
下面一行是声明,声明该段脚本包含了prerotatepostrotateDOIT博客M-{;^3s%[ \Ld
    sharedscriptsDOIT博客f4| ~~ @I }y(w"v

F.iI2{"|Z{0#
执行前行为DOIT博客 u"ig5rFT
    prerotateDOIT博客h'PHhc
        
命令DOIT博客+C6Prh(@ j;g
    endscript
Tr3?3ca0

#例:每月执行一次
LzUZ,hr z0    monthlyDOIT博客y-dQ/p EL

.rE3[ {*O,?}w'g0#
例:保留5份历史DOIT博客7g/B&A c1} D5A"H's
    rotate 5DOIT博客*@;b sRjG+}+o8Q
DOIT博客*M"N;v+ni P
#
执行后行为DOIT博客7\'Q,ZdHnH a0?-Y
    postrotate
$I PiP5P"g0        
命令DOIT博客Z?e.b@ l G%~3Zav
    endscript
$?/gIO:Ckk0DOIT博客xSE u6q"s h!qG|\
}DOIT博客.?S5D:NP6y4q

syslog设备

#yvCHHY0

  syslog已被许多日志函数采纳,它用在许多保护措施中。任何程序都可以通过syslog 记录事件。syslog可以记录系统事件,可以写到一个文件或设备中,或给用户发送一个信息。它能记录本地事件或通过网络记录另一个主机上的事件。

#p?2K_$T,ZGkO0

DOIT博客.OTlK \0C7?!^

  syslog设备依据两个重要的文件:/etc/syslogd(守护进程)和 /etc/syslog.conf配置文件。习惯上,多数syslog 信息被写到/var/adm或/var/log目录下的信息文件中(messages.*)。一个典型的syslog记录包括生成程序的名字和一个文本信 息。它还包括一个设备和一个优先级范围(但不在日志中出现)。

I9\(z#@4iV w9h0

q5ng Giw,Qci0

每个syslog消息被赋予下面的主要设备之一:DOIT博客Z l.Y8q7P\!]6MJ

DOIT博客 bprQ"u6Ut

QUOTE:

l(uHX"?;EW)?!~q8z0

DOIT博客3x(c ?+?+t+K"{.F5BnU

LOG_AUTH:认证系统login、su、getty等。

1`U+F!K @af0

LOG_AUTHPRIV:同LOG_AUTH,但只登录到所选择的单个用户可读的文件中。DOIT博客/xJ4P2LEPY7X a

LOG_CRON:cron守护进程。

/@D5T;bNo/F \0

LOG_DAEMON:其他系统守护进程,如routed。

S$u||G;e2V,}k:R0

LOG_FTP:文件传输协议ftpd、tftpd。

'E*Y5i8BI0

LOG_KERN:内核产生的消息。

"z$x&A(?N6||0

LOG_LPR:系统打印机缓冲池lpr、lpd。

3N @+Rjd5`~0

LOG_MAIL:电子邮件系统。DOIT博客 bg|)Km&E/|

LOG_NEWS:网络新闻系统。

vm:BIX'I:a0

LOG_SYSLOG:由syslogd(8)产生的内部消息。

-r:PZ_/bg0

LOG_USER:随机用户进程产生的消息。DOIT博客1B&m9r:e4M2`)w.M s

LOG_UUCP:UUCP子系统。DOIT博客!S8Uqap7S ylL

LOG_LOCAL0~LOG_LOCAL7:为本地使用保留。DOIT博客[ }2\;V5U1t"jR^'Z

syslog为每个事件赋予几个不同的优先级:DOIT博客 x9TSf]8@+j]J

LOG_EMERG:紧急情况。

qy,fBv3f,Ew9w0

LOG_ALERT:应该被立即改正的问题,如系统数据库被破坏。

eg R+ez0

LOG_CRIT:重要情况,如硬盘错误。DOIT博客4D-Gb7\ l,trC

LOG_ERR:错误。

6\*Ke!r|*Q0

LOG_WARNING:警告信息。

.x wb*@$U0

LOG_NOTICE:不是错误情况,但是可能需要处理。

Sj;{5K9VE)A@ o0

LOG_INFO:情报信息。DOIT博客7eu@`p}1S

LOG_DEBUG:包含情报的信息,通常只在调试一个程序时使用。

5a)w5`/E'z.s'@ n {+?H0

6L!B,{]2[`0

  syslog.conf文件指明syslogd程序记录日志的行为,该程序在启 动时查询配置文件。该文件由不同程序或消息分类的单个条目组成,每个占一行。对每类消息提供一个选择域和一个动作域。这些域由tab符隔开:选择域指明消 息的类型和优先级;动作域指明syslogd接收到一个与选择标准相匹配的消息时所执行的动作。每个选项是由设备和优先级组成的。当指明一个优先级时, syslogd将记录一个拥有相同或更高优先级的消息。所以如果指明 "crit",那所有标为crit、alert和emerg的消息将被记录。每行的行动域指明当选择域选择了一个给定消息后应该把它发送到哪儿。例如,如 果想把所有邮件消息记录到一个文件中,如下所示:

3?SBIInQ o1{$[*]0

DOIT博客YD8Z(?7sQ(G/r

QUOTE:DOIT博客oSa-a'`~:kX O

DOIT博客7lt J5A?8S~Y

#Log all the mail messages in one placeDOIT博客/``ZH!g"g n V

3k U%[ u4eh`Gj0?*G0

r G,B+h(yJ4nP0

mail.* /var/log/maillog

,?G]S*P-J6cJ0

[u.CqO@0

;Q P Qp aZ k?\8B0

}}'sN's6gF.E*`0

  其他设备也有自己的日志。UUCP和news设备能产生许多外部消息。它把这些消息存到自己的日志(/var/log/spooler)中并把级别限为"err"或更高。例如:DOIT博客8B Di"N6J9v5E

8?M7Wx$[F:^0

QUOTE:DOIT博客3XrL ]/|a$GI4LE

cr O?1CU6V0SP Q,Q0

# Save mail and news errors of level err and higher in aspecial file.DOIT博客{k}D4M

uucp,news.crit /var/log/spoolerDOIT博客+^tE$ip~6k

4qvJ4G#_puE[ m0

  当一个紧急消息到来时,可能想让所有的用户都得到,也可能想让自己的日志接收并保存:DOIT博客"HI&{ rj w3M4^4C

DOIT博客y? ^qrA

QUOTE:

cH` uUZ-r1]9@:l0

DOIT博客+y~t2iYQ1[s

#Everybody gets emergency messages, plus log them on anther machineDOIT博客@S |M D;^S| w

*.emerg *

%Q/P,U nE!y(p0H I bup0

*.emerg @linuxaid.com.cnDOIT博客t&BJ/{ }'^ nX

  alert消息应该写到root和tiger的个人账号中:

%qn0_%pDo(iX0

Z%CT f T ~f0

QUOTE:

p.p%c/Hw0

\&c0OijHV4J0

#Root and Tiger get alert and higher messages

0x6[esMh0

*.alert root,tigerDOIT博客I*y{O _)Wf(_uQ1l

  有时syslogd将产生大量的消息。例如,内核("kernel"设备)可能很冗长。用户可能想把内核消息记录到/dev/console中。下面的例子表明内核日志记录被注释掉了:

D1F K n.]"F|{[0

DOIT博客3z},j#KM:G1YJ

QUOTE:

bJ)A [8r8^%I&}$^R}0

v2S1|%ofB0

#Log all kernel messages to the consoleDOIT博客l0DZhkxSlY!K

#Logging much else clutters up the screen

%lQGJlOq8G o-D0

#kern.* /dev/consoleDOIT博客{4b7u%y2pw6x

  用户可以在一行中指明所有的设备。下面的例子把info或更高级别的消息送到/var/log/messages,除了mail以外。级别"none"禁止一个设备:

5?!bXBLZ0

DOIT博客aroy N#O?

QUOTE:DOIT博客e_T7TI

DOIT博客,U y#_ZWwNP

#Log anything(except mail)of level info or higherDOIT博客P\.m,wj v)O#s

#Don't log private authentication messages!DOIT博客*i)hzjx&e7^;h

*.info:mail.none;authpriv.none /var/log/messagesDOIT博客 nK"O h)T:n

5^*BA|t|/Y(|L0

  在有些情况下,可以把日志送到打印机,这样网络入侵者怎么修改日志就都没有用了。通常要广泛记录日志。syslog设备是一个攻击者的显著目标。一个为其他主机维护日志的系统对于防范服务器攻击特别脆弱,因此要特别注意。DOIT博客OH S.I"F0N

5IP6Y$q NU/|0

有个小命令logger为syslog(3)系统日志文件提供一个shell命令接口,使用户能创建日志文件中的条目。DOIT博客JJXk.S

l|0dx*q2u8RZ'eUM0

5G:R ld3i] ]s0

  用法:logger 

Q&N C3eshZ0

Y(z"\H;F%_!I0

  例如:logger This is a test!

9vU3K5}(~^y0

B4^?:_pP-Qj0

  它将产生一个如下的syslog记录:Aug 19 22:22:34 tiger: This is a test!DOIT博客.@,~6D L\L

suTLs0

  注意,不要完全相信日志,因为攻击者很容易修改它的。DOIT博客j"J@]w;d.fSES

Q"aJ]F]E9b\wm6K0

  程序日志与其他

&t"j"L4U[0

`"UK}7X'@#B2x.Z0

  许多程序通过维护日志来反映系统的安全状 态。su命令允许用户获得另一个用户的权限,所以它的安全很重要,它的日志文件为sulog。同样的还有 sudolog。另外,像Apache有两个日志:access_log和error_log。还有一些常用到的其他日志工具,我们就不一一阐述了,有兴 趣的读者可以参考下边网址的内容。

8\/D?7M-t8cE.t0

O0y"y3L2E5G+?0

QUOTE:DOIT博客Pn%y|2lX

Chklastlog:

!W]'@7]|I0

DOIT博客O,s tJXH

ftp://coast.cs.purdue.edu/pub/tools/unix/chklastlog/DOIT博客[2a2\V4]/OU

&GBD9h6\a s ?Rq0

chkwtmp:DOIT博客#GAXC.e h

hd;G}n0X/p1V"h$K0

ftp://coast.cs.purdue.edu/pub/tools/unix/chkwtmp/DOIT博客vZ La/tb

9p#JjXoQ];~E8W0

dump_lastlog:

4l"dN B-L0

DOIT博客^$B:S$`s\r)k1X

ftp://coast.cs.purdue.edu/pub/tools/unix/dump_lastlog.ZDOIT博客a{m&c"X8g\A

DOIT博客rm^'[ \R

spar:

$Er2b3[{UD P IT0

U{ J b9AI9Q0

ftp://coast.cs.purdue.edu/pub/tools/unix/TAMU/DOIT博客Z\%a"d|Q

DOIT博客V {4T;VX/]

Swatch:

j3j2y3U&Eg`ic0

u@S6\-MY0

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

qo*t1R_"qL0

DOIT博客'nsB1d8V,U]m:C;e

Zap:

?-]wD Jr(n0

DOIT博客7J^ y|\

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

6W0t(j ~lT;~4Z0

DOIT博客"FN_ Z)O

日志分类方法:

h7t,N.?5~z1| b"x0

DOIT博客7].hj+X G^Z'K

http://csrc.nist.gov/nissc/1998/proceedings/paperD1.pdfDOIT博客\V$YIr]HZ;m


DOIT博客ANzlw F{

TAG: Linux linux LINUX 管理 日志

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar