Linux 日志 | 常用系统日志
为了保证 Linux 系统正常运行,遇到问题时能及时解决,高效分析系统日志是非常必要的。
Linux 系统中的日志驱动进程通常为 syslog,系统日志都可在 syslog 配置文件中配置。
我们可以通过调用 syslog 的接口进行 log,syslogd 在取到 log 后进行处理,根据配置,将 log 保存到本地或发送到其他服务器上。
默认配置下,系统日志保存在 /var/log/
目录下。
不同系统,不同版本略有差异,本文系统信息:
/var/log/audit/audit.log
-
记录系统内核、内核、用户进程的行为事件
-
是 Linux 安全体系的重要部分
-
比 message 记录更详细的信息,可以
-
查看文件权限
-
监控系统调用
-
记录用户指令
-
记录系统安全事件
-
监控网络访问
-
/var/log/boot.log
- 记录开机自检过程显示的信息
/var/log/btmp
-
记录登录失败的用户信息、时间及远程 ip
-
通过
lastb
命令查看内容
/var/log/cron
-
记录 crontab 执行情况
-
crontab 误删后可以根据日志快速回复命令及调度周期
-
系统被植入恶意定时任务,通过日志内容确定受影响时间段,从而对症下药
/var/log/dmesg
-
记录系统开机时,内核自检信息
-
可以用
dmesg
命令查看
/var/log/lastlog
-
记录最后一次登录的时间、IP 等信息
-
用
lastlog
命令查看,会根据 UID 排序显示
/var/log/maillog
- 记录邮件收发详细信息
/var/log/messages
- 记录内核消息及各种应用程序的日志信息,包括:启动、IO 错误、网络错误、程序自定义日志等
/var/log/secure
-
系统安全日志,记录用户登录认证情况,如 pop3、ssh、telnet、ftp 等记录
-
只要涉及到需要账号密码的操作,不管成功与否都会记录
/var/log/wtmp
-
永久记录每个用户登录注销及系统启动停机事件
-
log 文件无法直接打开查看,用
last
命令查看文件信息 -
上图中每列分别显示用户名、端口、从哪儿登录、登录时间、登出时间、登录时长
-
用户登录时,
-
login 程序在 lastlog 中查看用户的 UID,存在则把用户上次登录、注销时间和主机名写到标准输出,
-
然后在 lastlog 中记录新的登录时间,
-
接着在 utmp 日志中记录用户新的登陆记录,在 wtmp 追加用户的登录记录。
-
当用户退出时,更新 wtmp 记录。最后在 utmp 日志中删除该用户对应的登陆记录
-
/var/run/utmp
-
记录当前登录的用户信息
-
文件不能直接打开查看,原理可执行命令查看
man utmp
-
查询当前用户信息的命令执行结果就从这个 log 中取得,如:
who/w/users
各种日志对于应急响应非常重要,
及时做好备份,避免恶意篡改,无法还原真相
也有停止生成日志的方法,安全意识要加强