加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

linux的系统日志相关介绍

发布时间:2022-11-16 17:30:35 所属栏目:Unix 来源:未知
导读: 日志的类型
auth ##pam产生的日志
suthpriv ##ssh,ftp等登陆信息的验证信息
cron ##时间任务相关
kern ##内核
lpr ##打印
mail ##邮件
mark(syslog)-rlog ##服务内部的信息,时间标识
n

日志的类型

auth ##pam产生的日志

suthpriv ##ssh,ftp等登陆信息的验证信息

cron ##时间任务相关

kern ##内核

lpr ##打印

mail ##邮件

mark(syslog)-rlog ##服务内部的信息,时间标识

news ##新闻组

user ##用户程序产生的相关信息

uucp ##unix to unix copy,unix主机之间相关的通讯

local 1~7 ##自定义的日志设备

、Linux系统日志的三种类型

1.内核及系统日志

这种日志数据由系统服务rsyslog统一管理,根据其主配置文件/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置。系统中有相当一部分程序会把日志文件交由rsyslog管理,因而这些程序使用的日志记录也具有相似的格式。

2.用户日志

这种日志数据用于记录Linux操作系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。

3.程序日志

有些应用程序会选择由自己独立管理一份日志文件,用于记录本程序运行过程中的各种事件信息,而不是交给rsyslog服务管理。由于这些程序只负责管理自己的日志文件,因此不同程序所使用的日志记录格式可能会存在较大的差异。

2、Linux系统常见的日志文件

路径1:/var/log/messages:记录 Linux 内核消息及各种应用程序的公共日志信息

tail -f /var/log/messages

/var/log/syslog 或 /var/log/messages 存储所有的全局系统活动数据,包括开机信息。基于 Debian 的系统如 Ubuntu 在 /var/log/syslog 中存储它们,而基于 RedHat 的系统如 RHEL 或 CentOS 则在 /var/log/messages 中存储它们。

路径2:/var/log/cron:记录 crond 计划任务产生的事件信息

路径3:/var/log/dmesg:记录 Linux 操作系统在引导过程中的各种事件信息

dmesg或less /var/log/dmesg

路径4:/var/log/maillog:记录进入或发出系统的电子邮件活动,此日志包含所有由sendmail、postfix送出的信息和报错邮件系统日志

路径5:/var/log/lastlog:记录每个用户最近的登录事件

路径6:/var/log/auth.log 或 /var/log/secure 存储来自可插拔认证模块(PAM)的日志,包括成功的登录,失败的登录尝试和认证方式。Ubuntu 和 Debian 在 /var/log/auth.log 中存储认证信息,而 RedHat 和 CentOS 则在 /var/log/secure 中存储该信息。

/var/log/secure:记录用户认证相关的安全事件信息,包含了所有与系统相关的信息,诸如登录,tcp_wrapper与xinetd服务,系统登录与网络连接的信息

cat /var/log/secure

路径7:/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件

该文件为二进制文件,使用last或者用 last -f /var/log/wtmp 查看

以下看所有的重启、关机记录

last | grep reboot

last | grep shutdown

路径8:/var/log/btmp:记录失败的、错误的登录尝试及验证事件

路径9:/var/log/spooler 与UUCP和news设备相关的日志信息

路径10:/var/log/boot.log 守护进程启动和停止相关的日志消息,该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息

路径11:/var/log/syslog:只记录警告信息,常常是系统出问题的信息,使用lastlog查看;默认Centos,Fedora不生成该日志文件,但可以配置/etc/syslog.conf让系统生成该日志文件。

它和/etc/log/messages日志文件不同,它只记录警告信息,常常是系统出问题的信息,所以更应该关注该文件。

要让系统生成该日志文件,在/etc/syslog.conf文件中加上:*.warning /var/log/syslog 该日志文件能记录当用户登录时login记录下的错误口令、Sendmail的问题、su命令执行失败等信息

======================================================

/var/log/wtmp

该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。因此随着系统正常运行时间的增加,该文件的大小也会越来越大,增加的速度取决于系统用户登录的次数。该日志文件可以用来查看用户的登录记录,last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端tty或时间显示相应的记录。

/var/run/utmp

该日志文件记录有关当前登录的每个用户的信息。因此这个文件会随着用户登录和注销系统而不断变化,它只保留当时联机的用户记录,不会为用户保留永久的记录。系统中需要查询当前用户状态的程序,如 who、w、users、finger等就需要访问这个文件。该日志文件并不能包括所有精确的信息,因为某些突发错误会终止用户登录会话,而系统没有及时更新 utmp记录,因此该日志文件的记录不是百分之百值得信赖的。

以上提及的3个文件(/var/log/wtmp、/var/run/utmp、/var/log/lastlog)是日志子系统的关键文件,都记录了用户登录的情况。这些文件的所有记录都包含了时间戳。这些文件是按二进制保存的,故不能用less、cat之类的命令直接查看这些文件,而是需要使用相关命令通过这些文件而查看。其中,utmp和wtmp文件的数据结构是一样的,而lastlog文件则使用另外的数据结构,关于它们的具体的数据结构可以使用man命令查询。

每次有一个用户登录时,login程序在文件lastlog中查看用户的UID。如果存在,则把用户上次登录、注销时间和主机名写到标准输出中UNIX 系统日志,然后login程序在lastlog中记录新的登录时间,打开utmp文件并插入用户的utmp记录。该记录一直用到用户登录退出时删除。utmp文件被各种命令使用,包括who、w、users和finger

下一步,login程序打开文件wtmp附加用户的utmp记录。当用户登录退出时,具有更新时间戳的同一utmp记录附加到文件中。wtmp文件被程序last使用

3、Linux系统日志的优先级别

在这里插入图片描述

数字等级越小,优先级越高,消息越重要。

4、Linux系统用户日志相关命令

1.users#

users命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数。

2.who#

who命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。who的默认输出包括用户名、终端类型、登录日期及远程主机。

3.w#

w命令用于显示当前系统中的每个用户及其所运行的进程信息,比users、who命令的输出内容要丰富一些。

4.last#

last命令用于查询成功登录到系统的用户记录,最近的登录情况将显示在最前面。通过last命令可以及时掌握Linux主机的登录情况,若发现未经授权的用户登录过,则表示当前主机可能已被入侵。

5.lastb#

lastb命令用于查询登录失败的用户记录,如登录的用户名错误、密码不正确等情况都将记录在案。登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!