千家信息网

日志管理

发表于:2024-10-28 作者:千家信息网编辑
千家信息网最后更新 2024年10月28日,/var/log常用的系统日志如下:核心启动日志:/var/log/messages系统报错或重启服务等日志:/var/log/messages邮件系统日志:/var/log/maillogcron(
千家信息网最后更新 2024年10月28日日志管理

/var/log

常用的系统日志如下:

核心启动日志:/var/log/messages

系统报错或重启服务等日志:/var/log/messages

邮件系统日志:/var/log/maillog

cron(定制任务日志):/var/log/cron #计划日志执行成功与否,在这个文件中

验证系统用户登录: /var/log/secure

记录所有的登录和登出:/var/log/wtmp

每个用户最后登入信息:/var/log/lastlog

错误的登入信息:/var/log/btmp



>/var/log/wtmp #清空登入登出记录


last #查看wtmp


lastlog #查看用户最后登录时间


lastb #查看错误登入信息,可以判断是否存在暴力破解



2.日志记录方式: 先分类,然后每个类中再分级别

主要7种日志分类(FACILITY):

authpriv 安全认证相关

cron at和cron定时相关

daemon 后台进程相关

kern 内核产生

lpr 打印系统产生

mail 邮件系统相关

syslog 日志服务本身

news 新闻系统 (和BBS差不多,新闻组)

uucp uucp系统产生 。Unix-to-Unix Copy(UNIX至UNIX的拷贝),Unix系统的一项功能,允许计算机之间以存储-转发方式交换e-mail和消息。在Internet兴起之前是Unix系统之间连网的主要方式。

local0到local7 #共8个类型,系统保留的:8个系统日志类型,给其它程序使用。或用户 自定义用

8个日志级别:以下排列,由轻到重

级别(PRIOROTY):

debug 排错信息。开发人

info 正常信息

notice 稍微要注意的

warn 警告

err(error) 错误

crit(critical) 关键的错误

alert 警报警惕

emerg(emergency) 紧急,突发事件

日志服务:

1).rhel5

服务名称:syslog

配置文件:

#vim /etc/syslog.conf

2) .RHEL6:rsyslog

配置文件:

#vim /etc/rsyslog.conf

3).RHEL7:rsyslog

配置文件:

#vim /etc/rsyslog.conf

进入配置文件显示内容如下:

1. kern.* 内核类型的所级别日志

2 *.info;mail.none;news.none;authpriv.none;cron.none:由于 mail, news, authpriv, cron 等类别产生的讯息较多,因此在 /var/log/messages 里面不记录这些项目。除此其他讯息都写入/var/log/messages 中。所以messages 文件很重要

3. authpriv.* 认证方面的讯息均写入 /var/log/secure 档案;

4. mail.*:邮件方面的讯息则均写入 /var/log/maillog 档案;

5. cron.*:例行性工作排程均写入 /var/log/cron 档案;

6. local7.*:将本机开机时应该显示到屏幕的讯息写入到 /var/log/boot.log 档案中;

/etc/rsyslog.conf 中日志输入规则:

例:

. :代表『比后面还要高的等级都被记录下来』的意思,

例如: mail.info 代表只要是 mail 类型的信息,而且该信息等级高于 info (包括 info 本身)时,就会被记录下来的意思。

.= :代表所需要的等级就是后面接的等级而已, 其他的都不要!

.! :代表不等于,亦即是除了该等级外的其他等级都记录。

举例:

cron.none 对于cron类型日志不记录任何信息

cron.=err 对于cron类型日志只记录err级别的信息

cron.err 对于cron类型日志记录大于err级别的信息

cron.!err 对于cron类型日志不记录err级别的信息,其他级别都记录。

记录日志的位置:

1、日志的相对路径:通常就是放在 /var/log中

2、 存在远程日志服务器上

3、有时日志会直接弹出在屏幕上。类似于wall命令。

扩展:

wall命令介绍:

wall -- send a message to everybody'sterminal.

[root@localhost ~]#wall Today is nice day!!!

wall Today is nicedayvim /etc/rsyslog.conf !

Broadcast message fromroot@localhost.localdomain (pts/0) (Thu Dec 17 22:10:28 2015):

Today is nice dayvim/etc/rsyslog.conf !

这样所有登录Linux的虚端的用户都会收到这个信息。

[root@localhost ~]# vim /etc/rsyslog.conf

mail.* -/var/log/maillog

在上面的第四行关于 mail 的记录中,在记录的档案 /var/log/maillog 前面还有个减号『 - 』是干嘛用的?

由于邮件所产生的讯息比较多,因此我们希望邮件产生的讯息先储存在速度较快的内存中 (buffer) ,等到数据量够大了才一次性的将所有数据都填入磁盘内这样将有利于减少对磁盘读写的次数减少IO读写开销。另外,由于讯息是暂存在内存内,因此若不正常关机导致登录信息未写入到文档中,可能会造成部分数据的遗失。

自定义sshd服务的日志

[root@localhost ~]# vim /etc/rsyslog.conf

local0.* /var/log/sshd.log

[root@localhost ~]#systemctl restart rsyslog.service

配置sshd服务的配置文件

[root@localhost ~]# vim /etc/ssh/sshd_config

SyslogFacility local0

[root@localhost ~]#systemctl restart sshd

[root@localhost ~]# ls /var/log/sshd.log

/var/log/sshd.log

[root@localhost ~]# cat!$

cat /var/log/sshd.log

Dec 17 22:18:38localhost sshd[35876]: Server listening on 0.0.0.0 port 22.

Dec 17 22:18:38localhost sshd[35876]: Server listening on :: port 22.

日志查看方式

时间 主机 进程ID 执行的操作

如何防止日志被***删除呢?

[root@localhost ~]#chattr +a /var/log/sshd.log

[root@localhost ~]#lsattr /var/log/sshd.log

-----a----------/var/log/sshd.log

加入了这个属性后,你的 /var/log/messages 登录档从此就仅能被增加,而不能被删除,直到 root 以『 chattr -a /var/log/messages 』取消这个 a 的参数后,才能被删除移!

5.日志回滚:

logrotate(日志回滚过程: 创建新文件、改名旧文件。)

配置文件:

#vim/etc/logrotate.conf

[root@localhost ~]# vim /etc/logrotate.conf

weekly <==预设每个礼拜对日志档进行一次 rotate 的工作

rotate 4<==保留几个日志文档呢?预设是保留四个!

create <== 回滚日志后,创建一个新的空文件来存储新的数据。

/var/log/wtmp {

monthly

create 0664 root utmp

minsize 1M

rotate 1

说明:

/var/log/wtmp { <==仅针对 /var/log/wtmp 所设定的参数

0