linux log日志查看完整版_第1页
linux log日志查看完整版_第2页
linux log日志查看完整版_第3页
linux log日志查看完整版_第4页
linux log日志查看完整版_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

誉天Cisco/Linux认证社区/BBS武汉誉天.独家授权Cisco/RHCE培训誉天Cisco/Linux认证社区/BBS武汉誉天.独家授权Cisco/RHCE培训linuxlog日志查看【syslogd+logrotate】其实,可以说成是监控系统的记录,系统一举一动基本会记录下来。这样由于信息非常全面很重要,通常只有root可以进行视察!通过登录文件(日志文件)可以根据屏幕上面的错误讯息与再配合登录文件的错误信息,几乎就可以解决大部分的Linux问题!所以日志文件异常重要,作为一个合格的linux系统工程师,日志文件是必要熟练掌握的部分。常见的几个登录文件有:/var/log/secure:记录登入系统存取数据的文件,例如pop3,ssh,telnet,ftp等都会被记录;/var/log/wtmp:记录登入者的讯息数据,由于本文件已经被编码过,所以必须使用last指令来取出文件的内容;/var/log/messages:尤为重要,几乎发生的错误讯息(或是重要信息)都会被记录在此;/var/log/boot.log:记录开机或者是一些服务启动的时候,所显示的启动或关闭讯息;/var/log/maillog或/var/log/mail/*:纪录邮件存取或往来(sendmail与pop3)的使用者记录;/var/log/cron:记录crontab这个例行性服务的内容的。/var/log/httpd,/var/log/news,/var/log/mysqld.log,/var/log/samba,/var/log/procmail.log:分别是几个不同的网络服务的记录文件!登录文件的纪录程序之一:syslogd通常经过syslog而记录下来的数据主要有:事件发生的日期与时间;发生此事件的主机名称;启动此事件的服务名称(如samba,xinetd等)或函式名称(如libpam..);该讯息数据内容syslogd的daemon配置文件:/etc/syslog.conf内容语法是这样的:服务名称[.=!]讯息等级讯息记录的文件名或装置或主机#例如底下:/var/log/maillog_info服务名称:该服务产生的讯息会被纪录的意思。syslog认识的服务主要有底下这些:auth,authpriv:主要与认证有关的机制,例如telnet,login,ssh等需要认证的服务都是使用此一机制;cron:例行性命令cron/at等产生讯息记录的地方;daemon:与各个daemon有关的讯息;kern:核心(kernel)产生讯息的地方;lpr:打印相关的讯息!mail:只要与邮件收发有关的讯息纪录都属于这个;news:与新闻群组服务器有关的东西;syslog:syslogd这支程序本身产生的信息啊!user,uucp,local0~local7:与Unixlike机器本身有关的一些讯息。讯息等级系统将讯息分为七个主要的等级,依序是由不重要排列到重要讯息等级:info:仅是一些基本的讯息说明而已;notice:比info还需要被注意到的一些信息内容;warning或warn:警示讯息,可能有问题,但是还不至于影响到某个daemon运作。err或error:一些重大的错误讯息,这就要去找原因了。crit:比error还要严重的错误信息,crit是临界点(critical)的缩写,已经很严重了!alert:警告警告,已经很有问题的等级,比crit还要严重!emerg或panic:疼痛等级,意指系统已经几乎要当机的状态!很严重的错误信息了。除了这些有等级的讯息外,还有两个特殊的等级,那就是debug(错误侦测等级)与none(不需登录等级)两个,当要作一些错误侦测,或者是忽略掉某些服务的信息时,就用这俩!在讯息等级之前还有[.=!]的连结符号!他代表的意思是:.:代表比后面还要高的等级(含该等级)都被记录下来的意思,例如:代表只要是mail的信息,而且该信息等级高于info(含info)时,就会被记录下来。.=:代表所需要的等级就是后面接的等级而已!.!:代表不等于。日志文件记录的文件名或装置或主机常见的放置处:文件的绝对路径:通常就是放在/var/log里头的文件!打印机或其它:例如/dev/lp0这个打印机装置(即使被黑客可以删除掉日志文件,但是终删除不了打印出来的日志信息)使用者名称:显示给使用者!远程主机:例如@,要对方主机也能支持才行!*:代表目前在线的所有人,类似wall这个指令的意义!看看在尚未开启网络服务的情况下来自FedoraCoreRelease4的相关资料[root@linux~]#vi/etc/syslog.conf#kern.*/dev/console#只要是kernel产生的讯息,全部都送到console去!默认是关闭的。*.info;mail.none;authpriv.none;cron.none/var/log/messages#在已知各服务的讯息中,不要记录到这个文件中,把已知的服务记录到单独的日志文件中去,方便日后查询,否则messages这个文件就太混乱了。这个文件非常重要,所有未知的信息都会被记录在这个文件中,所以有问题,找这个文件就八九不离十了。authpriv.*/var/log/secure#这个就是经过一些身份确认的行为之后,需要记录身份的文件。mail.*-/var/log/maillog#只要跟mail有关的(不论是pop3还是sendmail)都会被纪录到这个文件!cron.*/var/log/cron#例行性命令相关的。*.emerg*#任何时候发生的警告讯息都会显示给在线的所有人!那个*就是目前在线的所有人。uucp,news.crit/var/log/spooler#记录新闻错误高于crit的等级的信息,写入spooler当中!local7.*/var/log/boot.log#将开机的当中的讯息写入/var/log/boot.log中!每个版本的syslog.conf差异是很大的,所以,每个登录文件记录的数据其实不很固定。例:让所有的信息都额外写入到/var/log/admin.log![root@linux~]#vi/etc/syslog.conf*.info/var/log/admin.log》》如果服务器硬盘容量够大,这么做也不失为一个良策。[root@linux~]#/etc/init.d/syslogrestart[root@linux~]#ll/var/log/admin.log-rw-------1rootroot122Oct2322:21/var/log/admin.log》》注意权限一台主机管理多台主机登录文件#1.先取得portnumber的信息![root@linux~]#grep514/etc/servicessyslog514/udp》》syslog的固定端口#注意,/etc/services里面必须要存在这一行才行,否则自行手写!#2.修改syslogd的启动配置文件[root@linux~]#vi/etc/sysconfig/syslog#SYSLOGD_OPTIONS="-m0"改成底下这样子SYSLOGD_OPTIONS="-m0-r"#3.重新启动与观察syslogd![root@linux~]#/etc/init.d/syslogrestart[root@linux~]#netstat-tlunpProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programnameudp00:514:*24314/syslogdLinux主机已经可以接收来自其它主机的登录信息了!client端的设定就简单了!只要指定某个信息传送到这部主机即可!比如,登录文件主机IP为00,而client端希望所有的数据都送给主机,可以在/etc/syslog.conf里面新增这样的一行:[root@linux~]#vi/etc/syslog.conf*.*@00未来主机上面的登录文件当中,每一行的主机名称就会显示来自不同主机的信息了。登录文件服务程序之二,轮滚(logrotate):所谓的logrotate,就是将旧的log文件更名,然后建立一个空的log文件,如此一来,新的log文件将从零开始记录,然后只要将旧的log文件留下一段时间!旧的纪录保存了一段时间没有问题,那么就可以让系统自动的将他删掉,否则占用硬盘空间。如图比如规定了message日志文件轮滚3次:初的日志文件message轮滚一次后messagemessage1轮滚二次后messagemessage1message2轮滚三次后messagemessage1message2message3》》删除(如果再次轮滚,message3就会被删除,而message2就会变成message3,且系统会新建立一个message)注意,相同颜色的mssage表示的是一个内容的文件,只不过每次轮滚他的名字后面会改一次数字。logrotate的配置文件/etc/logrotate.conf/etc/logrotate.d/注意!logrotate.conf才是主要的参数文件,logrotate.d是一个目录,该目录里面的所有文件都会被主动的读入/etc/logrotate.conf当中来进行!另外,在/etc/logrotate.d/里面的文件中,如果没有规定到的一些细部设定,则以/etc/logrotate.conf的规定来指定为默认值![root@linux~]#vi/etc/logrotate.conf#底下是"logrotate的预设值,如果个别的文件设定了其它的参数,那么将以个别的文件设定为主,若该文件没有设定到的参数,则以这个档案的内容为默认值!Weekly》》预设每个礼拜对登录文件进行一次rotate的工作rotate4》》保留四个登录文件!create》》是否建立新的登录文件来记录!#compress》》rotate之后的登录文件,是否压缩,通常是不要压缩啦,压缩登录文件扩展名会变成messages.1.gz!系统负载不大,且日志比较大,可以考虑压缩。include/etc/logrotate.d》》将底下这个目录中的所有文件都读进来执行rotate的工作!/var/log/wtmp{monthlycreate0664rootutmprotate1}。。。省略。。。#在logrotate.conf文件当中,只有这个数据是在记载如何对登录文件进行轮替的!这个登录文件记载的就是使用login登入系统时的使用者状态,last就是读自/var/log/wtmp当中记录的数据!整个段落的意义是:#1.每个月进行一次logrotate的工作;#2.将文件的权限设定为664,且拥有者为root,群组为utmp;#3.仅保存前一个月的rotate备份!可以修改大一点[root@linux~]#vi/etc/logrotate.d/syslog/var/log/messages/var/log/secure/var/log/maillog/var/log/spooler/var/log/boot.log/var/log/cron{sharedscriptspostrotate/bin/kill-HUP`cat/var/run/syslogd.pid2>/dev/null`2>/dev/null||trueendscript}设定的项目与前面提到的相同,并且可加入轮替前(pre)与后(post)的一些特殊执行的指令!这个设定需与sharedscripts....endscript设定合用才行;prerotate:启动logrotate之前进行的指令,例如修改登录文件的属性等动作;postrotate:做完logrotate之后启动的指令,例如重新启动(kill-1或kill-HUP)某个服务!这一段设定值说明的是:『/var/log目录内的messages,secure,mailog,spooler,boot.log及cron这六个文件,每个礼拜进行一次轮替,且保留四个登录档,此外,在轮替进行完毕之后,执行syslog的重新启动』因为没有提到该设定项目,所以就用/etc/logrotate.conf内的默认值来作用解决charrt+a与lorotate矛盾的方法:矛盾处:a属性会让文件只能添加数据,不能修改文件名,不能删除(防止日志文件被入侵,被恶意删除),而lorotate需要修改文件的文件名。解决办法就是利用prerotate与postrotate来进行登录文件轮替前、后所需要作的动作!可以这样修改一下这个文件![root@linux~]#vi/etc/logrotate.d/syslog/var/log/messages/var/log/secure/var/log/maillog/var/log/spooler/var/log/boot.log/var/log/cron{sharedscriptsprerotate/usr/bin/chattr-a/var/log/messagesendscriptsharedscriptspostrotate/bin/kill-HUP`cat/var/run/syslogd.pid2>/dev/null`2>/dev/null||true/usr/bin/chattr+a/var/log/messagesendscript}特别留意,/bin/kill-HUP...这一行的目的在于将系统的syslogd重新以其参数(syslog.conf)的资料读入一次!也可以想成是reload的意思!由于建立了一个新的空的纪录文件,如果不执行此一行来重新启动服务,那么记录的时候将会发生错误!另外注意颜色字体部分格式,需要配套书写。实际测试logrotate的动作[root@linux~]#logrotate[-vf]logfile参数:-v:启动显示模式,会显示logrotate运作的过程喔!-f:不论是否符合设定文件的数据,强制每个登录文件都进行rotate的动作!例:强制进行logrotate的动作[root@linux~]#logrotate-vf/etc/logrotate.conf#此命令属于企业危险命令,因为旧的日志对企业安全有很大作用,如果强行轮滚,造成提前删除旧日志文件,可能会有麻烦,所以不要乱用!预设的logrotate的执行时间就是放在/etc/cron.daily/logrotate里面的!由于logrotate的工作已经加入crontab里了!所以现在每天系统都会自动的查看logrotate!案例:建立了/var/log/admin.log,想要加上+a属性,要求:登录文件轮替一个月进行一次;该登录文件若大于10MB时,则主动进行轮替,不需要考虑一个月的期限;保存五个备份文件;备份文件不要压缩[root@linux~]#chattr+a/var/log/admin.log[root@linux~]#lsattr/var/log/admin.log-----a-------/var/log/admin.log[root@linux~]#mv/var/log/admin.log/var/log/admin.log.1mv:cannotmove'/var/log/admin.log'to'/var/log/admin.log.1':permissiondeny[root@linux~]#vi/etc/logrotate.d/admin#Thisconfigurationisfromlonogo2009/6/26/var/log/admin.log{monthlysize=10Mrotate5nocompresssharedscriptsprerotate/usr/bin/chattr-a/var/log/admin.logendscriptsharedscriptspostrotate/usr/bin/killall-HUPsyslogd/usr/bin/chattr+a/var/log/admin.logendscript}[root@linux~]#logrotate-v/etc/logrotate.conf。。省略。。[root@linux~]#logrotate-vf/etc/logrotate.d/admin》》强行滚一下....省略....[root@linux~]#lsattr/var/log/admin.log*》》看看滚后的文件的权限变化了-----a-------/var/log/admin.log-------------/var/log/admin.log.1注意,/etc/syslog.conf与/etc/logrotate.d/*通常是配合使用,目录下的.d目录下的文件未提及的设置,会参考助.conf配置文件的设置。分析登录文件dmesg[root@linux~]#dmesg|more由于系统在开机的过程当中尚未将硬盘mount上来,所以无法直接将数据直接读到logfile当中去,但是为了除错上面的方便,所以在开机的过程当中的讯息还是要记录下来,这个时候系统就将ram开了一个小区块来储存这个数据!这个开机记录文件就是:/proc/kmsg!几乎所有的核心信息都可以使用dmesg来查阅得到的,例想要知道开机有没有捉到网卡,dmesg|grep'eth'!last[root@linux~]#last-nnumber[root@linux~]#last-ffilename参数:-n:last会读出这个月的数据,若数据量太大,可使用-n来严格要求显示的笔数。例如20笔数据:last-n20或last-20均可。-f:last预设读出/var/log/wtmp,但是我们可以透过-f读取不同的登录文件信息!例,将上个月的资料读出,仅读出5笔资料[root@linux~]#last-n5-f/var/log/wtmp.1dmtsai2pts/2MonOct2414:18-14:18(00:00)dmtsai2work:0workMonOct2414:18gone-nologoutdmtsai2work:0workMonOct2414:18-14:18(00:00)dmtsai2pts/2MonOct2414:18-14:18(00:00)dmtsai2work:0workMonOct2414:18-14:18(00:00)[root@linux~]#lastloglastlog只是读出/var/log/lastlog内的信息.他会显示目前系统上面的所有账号当中,每个账号近一次登入的时间!Linux系统的LOG日志文件介绍!UNIX网管员主要是靠系统的LOG,来获得入侵的痕迹.当然也有第三方工具记录入侵系统的痕迹,UNIX系统存放LOG文件,普通位置如下:/usr/adm-早期版本的UNIX/var/adm-新一点的版本使用这个位置/var/log-一些版本的Solaris,linuxBSD,FreeBSD使用这个位置/etc-多数UNIX版本把utmp放在这里,有些也把wtmp放在这里,syslog.conf在这里下面的一些文件根据你所在的目录不同而不同:acct或pacct--记录每个用户使用的命令记录access_log--主要当服务器运行NCSAHTTPD时,记录什么站点连接过你的服务器aculog--保存着你拨出去的MODEMS记录lastlog--记录了用户近的LOGIN记录和每个用户的初目的地,有时是后不成功LOGIN的记录,当一个用户登陆到unix系统,注册程序在lastlog文件中查找该用户的uid,如果该程序找到了该用户的uid,unix就会显示后一次登陆的时间和tty(终端号)loginlog--记录一些不正常的LOGIN记录messages--记录输出到系统控制台的记录,另外的信息由syslog来生成security--记录一些使用UUCP系统企图进入限制范围的事例sulog--记录使用su命令的记录.它通常在/var/adm/sulog.如果你在机器上使用了su命令,别忘了清除哦.utmp--记录当前登录到系统中的所有用户,这个文件伴随着用户进入和离开系统而不断变化.它还会为系统中的用户保持很长的历史记录,utmp日志通常存放在/var/adm/utmp目录下.可以用w和who命令查看,其他命令也可以访问这个文件.如:fingerroot就可以.现在的utmp一般都有utmpx文件作为日志记录的补充.utmpx--UTMP的扩展wtmp--记录用户登录和退出事件.它和utmp日志文件相似,但它随着登陆次数的增加,它会变的越来越大,有些系统的ftp访问也在这个文件里记录,同时它也记录正常的系统退出时间,可以用ac和last命令访问.syslog--重要的日志文件,使用syslogd守护程序来获得日志信息,通常情况下通过查看/etc/syslog.conf.我们可以知道syslog记录些什么.缺省时,它把大多的消息传给/var/adm/message./dev/log--一个UNIX域套接字,接受在本地机器上运行的进程所产生的消息/dev/klog--一个从UNIX内核接受消息的设备514端口--一个INTERNET套接字,接受其他机器通过UDP产生的syslog消息。uucp--记录的UUCP的信息,可以被本地UUCP活动更新,也可有远程站点发起的动作修改,信息包括发出和接受的呼叫,发出的请求,发送者,发送时间和发送主机lpd-errs--处理打印机故障信息的日志ftp日志--执行带-l选项的ftpd能够获得记录功能httpd日志--HTTPD服务器在日志中记录每一个WEB访问记录history日志--这个文件保存了用户近输入命令的记录vold.log--记录使用外接媒介时遇到的错误记录======================其他类型的日志文件-======================有些类型的LOG文件没有特定的标题,但开始于一个特定的标志,你可以在前面头发现如下的标志,这就一般表示此是个LOG日志文件,你就可以编辑它了:xfer--表明试图一个禁止的文件传输.rexe--表明试图执行一个不允许的命令还有许多其他其他类型的LOG文件存在,主要是第三方软件引起的,或者甚至非法字符的网管自己有设置了一只"眼睛"在他的系统上,所以你要对你认为可能是LOG文件的文件多一份心眼。许多管理员喜欢把日志文件放在同一个目录中以便管理,所以你要检查你发现的LOG文件所在的目录中,是否有其他日志文件放在这里,如果有,咯,你知道怎么做。另一个你要注意的是有关LOG用户MAIL的文件,此文件名可以多种多样,或则有时是syslog文件的一部分。你要知道syslog记录那些信息,你可以查看syslog.conf中的信息此文件的目录是在/etc中一般我们都是查看syslog.conf文件来查看日志的配置情况.例如:cat/etc/syslog.conf其中sunos操作系统的在/var/log和/var/adm下,还有/usr/adm为/var/adm的的链接.redhat的在/var/log和/var/run下下面的是sunos5.7中的日志样本.此外,各种shell还会记录用户使用的命令历史,它使用用户主目录下的文件来记录这些命令历史,通常这个文件的名字为.sh_history(ksh),.history(csh),或.bash_history(bash)等。#ls/var/admacctlogmessages.1passwdsulogvold.logaculogmessagesmessages.2sautmpwtmplastlogmessages.0messages.3spellhistutmpxwtmpx#ls/var/logauthlogsyslogsyslog.1syslog.3sysidconfig.logsyslog.0syslog.2syslog.4下面的是redhat9.0中的日志样本.#ls/var/logboot.logdmesgmessages.2secureuucpboot.log.1htmlaccess.logmessages.3secure.1wtmpboot.log.2httpdmessages.4secure.2wtmp.1boot.log.3lastlognetconf.logsecure.3xferlogboot.log.4mailllognetconf.log.1secure.4xferlog.1cronmaillognetconf.log.2sendmail

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论