什么是登录文件:
Linux 常见的登录文件档名
/var/log/dmesg:
记录系统在启动的时候核心侦测过程所产生的各项资讯。由於CentOS 默认将启动时核心的硬件侦测过程取消显示,因此额外将数据记录一份在这个文件中;
/var/log/lastlog:
可以记录系统上面所有的帐号最近一次登陆系统时的相关资讯。第十四章讲到的lastlog命令就是利用这个文件的记录资讯来显示的。
/var/log/maillog 或/var/log/mail/*:
记录邮件的往来资讯,其实主要是记录sendmail (SMTP 协议提供者)与dovecot (POP3 协议提供者)所产生的信息啦。SMTP 是发信所使用的通讯协议,POP3 则是收信使用的通讯协议。sendmail 与dovecot 则分别是两套达成通讯协议的软件。
/var/log/messages:
这个文件相当的重要,几乎系统发生的错误信息(或者是重要的资讯)都会记录在这个文件中;如果系统发生莫名的错误时,这个文件是一定要查阅的登录文件之一。
/var/log/secure:
基本上,只要牵涉到『需要输入帐号口令』的软件,那么当登陆时(不管登陆正确或错误)都会被记录在此文件中。包括系统的 login 程序、图形介面登陆所使用的gdm 程序、su, sudo 等程序、还有网络连线的ssh, telnet 等程序,登陆资讯都会被记载在这里;
/var/log/wtmp,/var/log/faillog:
这两个文件可以记录正确登陆系统者的帐号资讯(wtmp) 与错误登陆时所使用的帐号资讯(faillog) !我们在第十一章谈到的last就是读取wtmp 来显示的,这对於追踪一般帐号者的使用行为很有帮助!
/var/log/httpd/*, /var/log/news/*,/var/log/samba/*:
不同的网络服务会使用它们自己的登录文件来记载它们自己产生的各项信息!上述的目录内则是个别服务所制订的登录文件。
登录文件所需相关服务(daemon) 与程序:
syslogd:主要登录系统与网络等服务的信息;
klogd:主要登录核心产生的各项资讯;
logrotate:主要在进行登录文件的轮替功能。
系统的登录文件默认都集中放置到/var/log/ 目录内,其中又以messages 记录的资讯最多!
syslogd:记录登录文件的服务
登录文件内容的一般格式
事件发生的日期与时间;
发生此事件的主机名称;
启动此事件的服务名称(如samba, xinetd 等)或函式名称(如libpam ..);
该信息的实际数据内容。
syslog 的配置档:/etc/syslog.conf
规定了『(1)什么服务(2)的什么等级信息(3)需要被记录在哪里(装置或文件)』
CentOS 5.x 默认的syslog.conf 内容
登录文件的安全性配置:chattr+a /var/log/messages
登录文件服务器的配置:
syslogd 本身有提供登录文件服务器的功能,透过修改/etc/sysconfig/syslog 内容即可达成;
登录文件的轮替(logrotate):
logrotate 的配置档:
/etc/logrotate.conf
/etc/logrotate.d/
logrotate 程序利用crontab 来进行登录文件的轮替功能;
分析登录文件:
CentOS 默认提供的logwatch