本教程操作环境:linux7.3系统、Dell G3电脑。
(资料图片仅供参考)
在Linux系统中,拥有非常灵活和强大的日志功能,它几乎可以保存所有的操作记录,还可以检索出我们需要的信息。不仅如此,Linux系统日志还可以帮助我们解决各种各样的问题。
Linux系统日志分为哪几种类型?
Linux 系统日志主要有三种类型:分别是 内核及系统日志、用户日志、程序日志。
1、内核及系统日志:
这种日志数据由系统服务 rsyslog 统一管理,根据其主配置文件 /etc/rsyslog.conf 中的设置决定将内核消息及各种系统程序消息记录到什么位置。系统中有相当一部分程序会把日志文件交由 rsyslog 管理,因而这些程序使用的日志记录也具有相似的格式。
2、用户日志:
这种日志数据用于记录 Linux 操作系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。
3、程序日志:
有些应用程序会选择由自己独立管理一份日志文件,用于记录本程序运行过程中的各种事件信息,而不是交给 rsyslog 服务管理。由于这些程序只负责管理自己的日志文件,因此不同程序所使用的日志记录格式可能会存在较大的差异。
Linux常见日志文件及其功能
日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。这些信息有些非常敏感,所以在 Linux 中这些日志文件只有 root 用户可以读取。
那么,系统日志文件保存在什么地方呢?还记得 /var/ 目录吗?它是用来保存系统动态数据的目录,那么 /var/log/ 目录就是系统日志文件的保存位置。我们通过表 1 来说明一下系统中的重要日志文件。
日志文件 | 说 明 |
/var/log/cron | 记录与系统定时任务相关的曰志 |
/var/log/cups/ | 记录打印信息的曰志 |
/var/log/dmesg | 记录了系统在开机时内核自检的信总。也可以使用dmesg命令直接查看内核自检信息 |
/var/log/btmp | 记录错误登陆的日志。这个文件是二进制文件,不能直接用Vi查看,而要使用lastb命令查看。命令如下:[root@localhost log]#lastbroot tty1 Tue Jun 4 22:38 - 22:38 (00:00)#有人在6月4 日 22:38便用root用户在本地终端 1 登陆错误 |
/var/log/lasllog | 记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看 |
/var/Iog/mailog | 记录邮件信息的曰志 |
/var/log/messages | 它是核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。I/O 错误、网络错误和其他系统错误都会记录到此文件中。其他信息,比如某个人的身份切换为 root,已经用户自定义安装软件的日志,也会在这里列出。 |
/var/log/secure | 记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中 |
/var/log/wtmp | 永久记录所有用户的登陆、注销信息,同时记录系统的后动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看 |
/var/tun/ulmp | 记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看 |
除系统默认的日志之外,采用 RPM 包方式安装的系统服务也会默认把日志记录在 /var/log/ 目录中(源码包安装的服务日志存放在源码包指定的目录中)。不过这些日志不是由 rsyslogd 服务来记录和管理的,而是各个服务使用自己的日志管理文档来记录自身的日志。以下介绍的日志目录在你的 Linux 上不一定存在,只有安装了相应的服务,日志才会出现。服务日志如表 2 所示。
日志文件 | 说明 |
---|---|
/var/log/httpd/ | RPM包安装的apache取务的默认日志目录 |
/var/log/mail/ | RPM包安装的邮件服务的额外日志因录 |
/var/log/samba/ | RPM色安装的Samba服务的日志目录 |
/var/log/sssd/ | 守护进程安全服务目录 |
怎么查看系统日志状态
我们使用 ps 命令,查看日志服务 rsyslog 的状态。系统中的绝大多数日志文件是由 rsyslogd 服务来统一管理的,只要各个进程将信息给予这个服务,它就会自动地把日志按照特定的格式记录到不同的日志文件中。也就是说,采用 rsyslogd 服务管理的日志文件,它们的格式应该是统一的。
语法
ps aux | grep "rsyslog" | grep -v "grep"
登录后复制
在 Linux 系统中有一部分日志不是由 rsyslogd 服务来管理的,比如 apache 服务,它的日志是由 Apache 软件自己产生并记录的,并没有调用 rsyslogd 服务。但是为了便于读取,apache 日志文件的格式和系统默认日志的格式是一致的。
案例
我们使用 ps 命令,查看系统日志服务状态,具体命令如下:
我们看到,我们使用了 ps 命令查看了系统日志 rsyslog 的服务状态。
相关推荐:《Linux视频教程》
以上就是linux日志文件有几种类型的详细内容,更多请关注php中文网其它相关文章!