日志文件的分类
(1)内核及系统日志
由系统服务rsyslog管理,根据去主配置文件/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置。
/etc/rsyslog.conf配置文件中,常见的配置格式:
“.” 你后面等级要高(包含该等级)的都记录 eg:“*.info”
“.=” 只记录该等级 eg:“.=debug”
“!” 除了该等级都记录 eg:“!info”
“-” 当有记录信息需要记录时,现存到缓存中,到一定大小时一次性写入,以减少对磁盘读写性能的占用。 eg:“-/var/log/maillog”
(2)用户日志
用于记录Linux系统用户登录及退出系统的相关信息,包括用户名、登陆的终端、登录时间、来源主机、正在使用的进程操作等
(3)程序日志
用于记录本程序运行过程中的各种事件信息。
日志消息的级别
数字等级越小,优先级越高,消息越重要
日志文件分析
(1)内核及大多数系统消息
存放位置:/var/log/message
内容解释:
时间标签:消息发出的日期及时间
主机名:生成消息的应用程序的名称
子系统名称:发出消息的应用程序的名称
消息:消息的具体内容
(2)用户日志
存放位置:/var/log/wtmp,/var/log/btmp,/var/log/lastlog
查询命令:users、who、w、last、lastlog、lastb
/var/log/wtmp,一个用户每次登录进入和退出时间的永久记录
/var/log/btmp,记录失败的记录
/var/run/utmp,记录当前登录的每个用户
users命令: 简单输出当前用户的用户名,每一个显示的用户名对应一个会话
who命令:报告当前登录到系统中的每个用户的信息。默认输出包括用户名、终端类型、登录日期及远程主机
w命令:显示当前操作系统中的每个用户及其远程运行的进程信息
last 命令:用于查询成功登录到系统的用户记录,最近的登录情况在最前面
-a 把从何处登入系统的主机名称或IP地址,显示在最后一行。
-d 将IP地址转换成主机名称。
-f 指定记录文件。
-n 或- 设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息
lastlog命令:用于显示系统中所有用最近一次登录信息
lastb命令:用于显示用户错误的登录列表,此指令可以发现系统的登录异常
程序日志
存放位置:不固定,一般在/var/log下的子目录中
日志文件分析注意事项:
用户在非常规的时间登录,或者用户登录系统的IP地址和以往不一样的;
用户登录失败的日志记录,尤其是那些一再连续尝试进入失败的日志记录;
非法使用或不正当使用超级用户权限;
无故或者非法启动各项网络服务的记录;
不正常的日志记录,如日志残缺不全,或者是诸如wtmp这样的日志文件无故缺少了中间的记录文件。
日志文件的保护
# chattr +a 增加权限
# chattr +a -R 递归式增加a权限