1.日志概念
日志文件是重要的信息系统文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮寄相关信息、各种服务相关信息。不仅如此,日志对于安全来说也很重要,它记录了系统每天发生的各种事情,可以通过日志来检查错误发生的原因或者受到攻击时攻击者留下的痕迹。
2.日志的类型
内核及系统日志:这种日志数据由系统服务rsyslog统一管理,根据其主配置文件
/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置
用户日志:这种日志数据用于记录Linux系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等
程序日志:有些应用程序会选择由自己独立管理一份日志文件(而不是交给rsyslog服务管理),用于记录本程序运行过程中的各种事件信息
3.日志文件位置
Linux系统本身和大部分服务器程序的日志文件默认都放在目录/var/log/下。一部分程序共用一个日志文件,一部分程序使用单个日志文件,而有些大型服务器程序由于日志文件不止个,所以会在/var/log/目录中建立相应的子目录来存放日志文件,这样既保证了日志文件目录的结构清晰,又可以快速定位日志文件,有相当一部分日志文件只有root用户才有权限读取,这保证了相关日志信息的安全性。
4.命令
tail 命令:用于查看日志文件的最后几行,常用 -f 选项实时监控日志变化。
grep 命令:用于在日志文件中搜索特定的关键字或模式。
who 命令:用于查看当前登录到系统的用户信息。
last 命令:用于查看成功登录到系统的用户记录。
lastlog 命令:用于查看系统中所有用户最近一次登录信息。
lastb 命令:用于查看用户错误的登录列表。
Logcheck 工具:用于分析系统日志并报告异常或重要事件。
Logcheck 工具:用于分析系统日志并报告异常或重要事件。
5.系统常用的日志
6.日志轮转
日志轮替就是把旧的日志文件移动并改名,同时建立新的空日志文件,当旧日志文件超出保存范围之后,就会进行删除
日志轮换文件命名
CentOS7使用logrotate进行日志轮替管理,要想改变日志轮替文件名字,通过 /etc/logrotate.conf 配置文件中“dateext”参数
如果配置文件中有“dateext”参数,则日志会用日期作为日志文件的后缀。例如“secure-20201010”。只需要指定保存日志个数,删除多余的日志文件即可
如果配置文件中没有“dateext”参数,日志文件就需要进行改名,当第一次进行日志轮替是,当前“secure”日志会自动改名为“secure.1”,然后新建“secure”日志,用来保存新的日志。当第二次进行日志轮替时,“secure.1”会自动改名成“secure.2”,当前的“secure”日志会自动改名为“secure.1”,然后新建“secure”日志,用来保存新的日志,从而依此类推