1. 日志简介
日志存放位置/var/log
常用的系统日志如下:
核心启动日志:/var/log/dmesg
系统报错或重启服务等日志: /var/log/messages
邮件系统日志:/var/log/maillog
周期性计划任务日志: /var/log/cron #计划任务执行成功与否在此文件中查看。
验证用户登录: /var/log/secure
所有用户的所有登录和登出: /var/log/wtmp
所有用户的所有失败登录: /var/log/btmp
查看所有用户登录和登出信息:
last #此命令对应的信息写在/var/log/wtmp中
所有用户最后一次的登入信息:
lastlog
错误的登入尝试:
lastb #此命令的信息写在/var/log/btmp中
可以通过查看btmp文件大小的方式查看服务器是否正在被暴力破解,如果此文件在短时间内增大很多则很有可能服务器正在被暴力破解。
2. 日志记录方式
linux日志的记录方式是先分类后分级。
linux日志分为7大类:
authpriv :安全认证相关
cron :计划任务相关日志,包含单次计划任务at和周期性计划任务crontab
daemon :后台进程相关日志
kern :内核产生的日志
lpr :打印系统的日志
mail :邮件系统的日志
syslog :日志服务本身的日志
news :新闻系统的日志(如bbs, 新闻组),国外用的多
uucp :uucp系统产生的日志,uucp是unix系统的一项功能,允许计算机以存储-转发的方式交换e-mail和消息。
local0-7 :系统保留的8个系统日志类型,其中local7已经被系统占用。
8个日志级别:
debug :拍错信息,开发人员使用
info :正常输出的信息
notice :稍微要注意的
warn :警告信息
err(error)错误信息
crit : 关键信息
alert :警报信息
emerg :紧急突发事件,如内核崩溃。
系统日志服务rsyslog配置文件:/etc/rsyslog.conf
rsyslog配置文件解析:
. 点代表和列出 的级别相同和更高的界别。
.= 只包含列出的级别
.! 不包含列出的级别
举例:
cron.err 不记录cron类别的任何信息
cron.=err 类别cron只记录err级别的日志信息
cron.err 记录cron类别中err和更高级别的日志信息
cron.!err 类别cron中除err级别外其余级别都记录。
在/etc/rsyslog.conf中邮件日志配置如下:
mail.* -/var/log/maillog
其中横线代表的是日志先写入内存,等到足够大了之后再写入磁盘,这样有利于减少对磁盘读写的次数,减少IO读写的开销。但是此种方式也有缺点,即缓存在内存中的日志信息在服务器断电后会丢失。