认识auth.log
一、介绍
auth.log是Linux系统中的日志文件之一,主要记录系统用户的认证、授权和拒绝信息。这个文件可以告诉你谁登录了你的系统,何时登录,以及登录是否成功。在服务器管理、安全审计和调试故障时,auth.log是一个非常有用的工具。
通常,这个文件的位置是/var/log/auth.log,但有时可能会被归档或移动到其他位置。
二、认识auth.log格式
auth.log通常以以下格式记录日志:
mmm dd hh:mm:ss hostname program_name[pid]: message
其中,mmm是三位月份缩写,dd是一位或两位日期,hh:mm:ss是24小时格式的时间,hostname是记录日志的主机名,program_name是产生日志的程序名,pid是程序的进程号,message是实际的日志信息。
例如,下面是auth.log的一行典型的日志记录:
Jan 1 10:00:02 localhost sshd[1234]: Accepted password for user1 from 192.168.1.100 port 12345 ssh2
这行日志表示在1月1日10点,本地主机上的sshd进程(进程ID为1234)通过SSH接受了从IP地址为192.168.1.100,端口号为12345的用户user1的密码。
三、auth.log中的常见事件
四、实践:使用awk解析auth.log
使用awk命令可以比较方便地解析auth.log日志,为你的服务器监控和安全审计提供便利。
1、查找登录成功的用户
以下示例使用awk命令查找所有成功登录系统的用户:
awk '/Accepted/{print $9}' /var/log/auth.log
其中,/Accepted/表示查找包含Accepted的行,$9表示打印第9个字段(即用户名)。
2、查找登录失败的用户
以下示例使用awk命令查找所有登录系统失败的用户:
awk '/Failed/{print $9}' /var/log/auth.log
其中,/Failed/表示查找包含Failed的行,$9表示打印第9个字段(即用户名)。
3、查找某个用户的登录历史
以下示例使用awk命令查找某个用户的登录历史:
awk '/Accepted.*username/{print}' /var/log/auth.log
其中,/Accepted.*username/表示查找包含Accepted和username的行。整个行将被打印。
4、查找最近100个认证事件
以下示例使用awk命令查找最近的100个认证事件:
tail -n 100 /var/log/auth.log | awk '{print $0}'
其中,tail -n 100表示查找最近的100个日志行,$0表示打印整行日志。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!