第19章 认识与分析登录档
Linux常见的登录文件:
/var/log/cron:crontab排程的信息
/var/log/dmesg:系统开机时核心侦测过程所产生的各项信息
/var/log/lastlog:系统上所有账号最近一次登录系统信息
/var/log/maillog或/var/log/mail/*:记录邮件往来信息,主要是sendmail与dovecot所产生的信息。
/var/log/messages:系统所有的错误信息(或者是重要信息)
/var/log/secure:需要输入账号密码的软件的所有登录信息
/var/log/wtmp,/var/log/faillog:记录正确登录系统的用户信息和错误登录系统的用户信息
/var/log/httpd/*,/var/log/news/*,/var/log/samba/*:不同网络服务自己产生的信息
CentOS提供syslogd这个服务统一管理登录文件,klogd管理登录核心产生的各项信息,logrotate进行登录文件的轮替功能
------------------------------------------------------------------------------------
syslogd:记录登录文件的服务
检查是否设定为开机自启动 ps aux | grep syslog
作为系统管理员要经常查看登录文件的内容,尤其是当自己感觉系统不太正常、某个daemon老是无法正常启动,某个用户总是无法登录、某个daemon执行过程总是不顺畅时。
syslog的配置文件 : /etc/syslog.conf——其实是syslogd的配置文件,规定了服务名称、信息等级、信息记录的文件名或装置或主机
服务名称:
信息等级:
在信息等级之前还有【. = !】的链接符号,其代表意义是:
1. "."代表“比后面还要高级的等级(含该等级)都被记录下来”
2. “.="代表所需要等级就是后面接的等级,其他的都不用
3. “.!"代表不等于,亦即是除了该等级外的所有等级都记录
信息记录的文件名或装置或主机:没什么好说的
syslog.conf语法练习
如果同时写好几个程序,那么每个程序间用分号隔开;额外记录的内容要另外写出来
自行增加登录文件:
把自己的特殊文件记录在 /etc/syslog.conf 当中,可以方便管理
登录文件的安全性非常重要,可以通过设定登录文件成为“只可以增加数据,不能被删除”的状态,但是root被破解的话也毫无用处。
或者也可以利用 chattr 设定 +a 属性
如果主机数量比较多,查看登录文件的时候可以在某一个主机(作为服务器)上查看,该Linux主机上有一个埠口(UDP的514)用来监听所有客户端的登录文件。
客户端
-----------------------------------------------------------------------------------------------------
登录文件的轮替(logrotate)
logrotate配置文件——存放在 /etc/logrotate.conf (主要) 和 /etc/logrotate.d
配置文件设定了默认的轮替状态,不过自己可以根据爱好修改啦
设定rotate,举个例子吧……
执行脚本可以调用外部指令来进行额外的命令下达,该设定需要与 sharedscripts ... endscripts 合用。可用的环境包括:prerotate(在启动logrotate之前进行的指令)、postrotate(在做完logrotate之后启动的指令)。
实际测试 logrotate 的动作
自定义登录文件的轮替功能
1.首先建立+a这个属性,让root不能移动这个登录文件,2.建立 logrotate的配置文件,在 /etc/logrotate.d 内增加一个文件。
---------------------------------------------------------------------------------------------------
分析登录文件
logwatch——CentOS默认提供的登录文件分析工具
鸟哥写的登录档分析工具
http://linux.vbird.org/download/index.php?action=detail&fileid=69