第十八章、【Linux】认识与分析登录文件

news2024/10/6 10:31:50

18.1 什么是登录文件

什么是登录文件?简单地说,就是记录系统活动信息的几个文件,例如:何时何地何人,做了什么工作。换句话说就是:记录系统在什么时候由哪个程序做了什么样的行为时,发生了什么事。

18.1.1 CentOS 7 登录文件简易说明

登录文件的重要性

为什么说登录文件很重要,重要到系统管理员需要随时注意他呢?我们可以这么说:

解决系统方面的错误:

系统有时候可能会出现一些错误,包括硬件捉不到或者是某些系统服务无法顺利运行的情况。这时系统会将硬件侦测过程记录在登录文件内,只要通过查询登录文件就能够了解系统发生什么事。

解决网络服务的问题:

在做完了某些网络服务的设置后,却一直无法顺利启动该服务,此时该怎办?由于网络服务的各种问题通常都会被写入特别的登录文件, 其实你只要查询登录文件就会知道出了什么差错。举例来说,如果你无法启动邮件服务器 (postfix), 那么查询一下/var/log/maillog就可以。

过往事件记录簿:

如果你发现某个时刻的网络服务流量很大,你想要知道原因,可以通过登录文件去找出该时段是哪些 IP 在连线与查询的网页数据为何,就能够知道原因。

Linux 常见的登录文件文件名

登录文件可以帮助我们了解很多系统重要的事件,包括登陆者的部分信息,因此登录文件的权限通常是设置为仅有 root 能够读取而已。 而由于登录文件可以记载系统这么多的详细信息,所以,一个有经验的主机管理员会随时随地查阅一下自己的登录文件, 以随时掌握系统的最新脉动!那么常见的几个登录文件有哪些呢?一般而言,有下面几个:

/var/log/boot.log: 开机的时候系统核心会去侦测与启动硬件,接下来开始各种核心支持的功能启动等。这些流程都会记录在 /var/log/boot.log 里面。 不过这个文件只会存在这次开机启动的信息,前次开机的信息并不会被保留下来!

/var/log/cron:crontab调度有没有实际被进行,过程中有没有错误,/etc/crontab是否撰写正确,都在这里面看。

/var/log/dmesg: 记录系统在开机的时候核心侦测过程所产生的各项信息。由于 CentOS默认将开机时核心的硬件侦测过程取消显示, 因此额外将数据记录一份在这个文件中;

/var/log/lastlog: 可以记录系统上面所有的帐号最近一次登陆系统时的相关信息。

/var/log/maillog 或 /var/log/mail/*: 记录邮件的往来信息,其实主要是记录 postfix(SMTP 协定提供者) 与 dovecot (POP3 协定提供者) 所产生的讯息。SMTP 是发信所使用的通讯协定, POP3 则是收信使用的通讯协定。 postfix 与 dovecot 则分别是两套达成通讯协定的软件。

/var/log/messages: 这个文件相当的重要,几乎系统发生的错误讯息 (或者是重要的信息) 都会记录在这个文件中; 如果系统发生莫名的错误时,这个文件是一定要查阅的登录文件之一。

/var/log/secure: 基本上,只要牵涉到“需要输入帐号密码”的软件,那么当登陆时 (不管登陆正确或错误) 都会被记录在此文件中。 包括系统的 login 程序、图形接口登陆所使用的 gdm 程序、 su, sudo 等程序、还有网络连线的 ssh, telnet 等程序, 登陆信息都会被记载在这里;

/var/log/wtmp, /var/log/faillog: 这两个文件可以记录正确登陆系统者的帐号信息(wtmp) 与错误登陆时所使用的帐号信息 (faillog)。

/var/log/httpd/, /var/log/samba/: 不同的网络服务会使用它们自己的登录文件来记载它们自己产生的各项讯息!上述的目录内则是个别服务所制订的登录文件。

常见的登录文件就是这几个,但是不同的 Linux distributions ,通常登录文件的文件名不会相同 (除了 /var/log/messages 之外 )。

登录文件所需相关服务 (daemon) 与程序

那么这些登录文件是怎么产生的呢?基本上有两种方式,一种是由软件开发商自行定义写入的登录文件与相关格式, 例如 WWW 软件 apache 就是这样处理的。另一种则是由 Linuxdistribution 提供的登录文件管理服务来统一管理。 你只要将讯息丢给这个服务后,他就会自己分门别类的将各种讯息放置到相关的登录文件去!CentOS 提供 rsyslog.service 这个服务来统一管理登录文件。

不过要注意的是,如果你任凭登录文件持续记录的话,由于系统产生的信息天天都有,那么你的登录文件的容量将会无限多。如果你的登录文件容量太大时,可能会导致大文件读写效率不佳的问题 (因为要从磁盘读入内存,越大的文件消耗内存量越多)。我们可以通过 logrotate(登录文件轮替) 来自动化处理登录文件容量与更新的问题。

所谓的 logrotate 基本上,就是将旧的登录文件更改名称,然后创建一个空的登录文件,如此一来, 新的登录文件将重新开始记录,然后只要将旧的登录文件留下一阵子,就可以将登录文件“轮转”。 此外,如果旧的记录 (大概要保存几个月吧!) 保存了一段时间没有问题,那么就可以让系统自动的将他砍掉。

总结一下,针对登录文件所需的功能,我们需要的服务与程序有:

systemd-journald.service:最主要的讯息收受者,由 systemd 提供的;

rsyslog.service:主要登录系统与网络等服务的讯息;

logrotate:主要在进行登录文件的轮替功能。

CentOS 7.x 使用 systemd 提供的 journalctl 日志管理

CentOS 7 除了保有既有的 rsyslog.service 之外,其实最上游还使用了 systemd 自己的登录文件日志管理功能。他使用的是 systemd-journald.service 这个服务来支持的。基本上,系统由 systemd 所管理,那所有经由 systemd 启动的服务,如果再启动或结束的过程中发生一些问题或者是正常的讯息, 就会将该讯息由 systemd-journald.service 以二进制的方式记录下来,之后再将这个讯息发送给 rsyslog.service 作进一步的记载。

systemd-journald.service 的记录主要都放置于内存中,因此在存取方面性能比较好。我们也能够通过 journalctl 以及 systemctl status unit.service 来查看各个不同服务的登录文件! 这有个好处,就是登录文件可以随着个别服务让你查阅,在单一服务的处理上面,要比跑到/var/log/messages 去大海捞针来的简易很多。

18.1.2 登录文件内容的一般格式

一般来说,系统产生的讯息经过记录下来的数据中,每条讯息均会记录下面的几个重要数据:

事件发生的日期与时间;

发生此事件的主机名称;

启动此事件的服务名称 (如 systemd, CROND 等) 或指令与函数名称 (如 su,login..);

该讯息的实际数据内容。

当然,这些信息的“详细度”是可以修改的,而且,这些信息可以作为系统除错之用。我们拿登录时一定会记载帐号信息的 /var/log/secure 为例:

我们拿第一笔数据 (共两行) 来说明好了,该数据是说:“在 08/17 的 18:38 左右,在名为study 的这部主机系统上,由 login 这个程序产生的讯息,内容显示 root 在 tty1 登陆了,而相关的权限给予是通过 pam_unix 模块处理的 (共两行数据)。

如果有以下情况:

当你觉得系统似乎不太正常时;

某个 daemon 老是无法正常启动时;

某个使用者老是无法登陆时;

某个 daemon 执行过程老是不顺畅时;

就需要常常去“巡视”登陆文件的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/947644.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

V4L2 摄像头应用编程

目录 V4L2 简介V4L2 摄像头应用程序打开摄像头查询设备的属性/能力/功能设置帧格式、帧率 ALPHA/Mini I.MX6U 开发板配套支持多种不同的摄像头,包括正点原子的ov5640(500W 像素)、 ov2640(200W 像素)以及ov7725&#x…

java定时任务cron表达式每周执行一次,执行时间与实际时间不一样的坑!!!

java springboot 利用schedule执行定时任务是很常用的功能,有一个很常用的网站就是在线Cron表达式生成器,但是在这个网站最近遇到一个坑。 我要每周一下午一点执行一次,我把我写的表达式在这个网站验证了,是可以的,况…

VSCode - 一键删除每行前面的行号数字

ctrl f 打开查找 输入正则表达式,并点击使用正则查找: 带点的:^\s*([0-9])\. 不带点:^\s*([0-9]) 综合起来:^\s*([0-9])[\.]* 替换为空格

手机怎么剪视频?分享一些剪辑工具和注意事项

视频剪辑是一种将多个视频片段进行剪切、合并和编辑的技术,它可以帮助我们制作出精彩的视频作品。如今,随着智能手机的普及,我们可以随时随地使用手机进行视频剪辑。本文将为大家介绍一些手机剪辑工具和注意事项,帮助大家更好地进…

全新抖音快手小红书去水印系统网站源码 | 支持几十种平台

全新抖音快手小红书去水印系统网站源码 | 支持几十种平台

Zynq GTX全网最细讲解,aurora 8b/10b编解码,OV5640摄像头视频传输,提供2套工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 GT 高速接口解决方案3、GTX 全网最细解读GTX 基本结构GTX 发送和接收处理流程GTX 的参考时钟GTX 发送接口GTX 接收接口GTX IP核调用和使用 4、设计思路框架视频源选择OV5640摄像头配置及采集动态彩条视频数据组包GTX aurora 8b/10b数据对…

INSTANCE 2022数据集

论文链接:https://arxiv.org/abs/2301.03281 数据集链接:Home - Grand Challenge github baseline:GitHub - PerceptionComputingLab/INSTANCE2022: Official repository of MICCAI 2022 INSTANCE challenge 数据集得自己填表申请 比赛是…

gdb基本使用快捷键

gdb 1. gdb简介2.基本命令2.1 进入/退出2.2 基本使用2.3 执行语句2.4 查看变量2.5 禁用/启用断点 1. gdb简介 gdb是Linux下的代码调试工具。 程序的发布有debug模式和release模式,Linux的gcc/g模式,默认是release模式。若想在Linux下调试,程…

生活类书单视频如何做?几个步骤轻松拿捏

生活类书单视频是一种很受欢迎的内容形式,它可以帮助观众了解各种生活类书籍,并提供一些有用的信息。在制作生活类书单视频时,我们需要注意几个步骤,以确保视频内容的质量和专业性。 首先,我们需要选择适合的书单背景。…

华为数通方向HCIP-DataCom H12-821题库(拖拽题,知识点总结)

以下是我在现有题库中整理的需要重点关注的考点内容,如有遗漏小伙伴可以留言补充。 VRRP双机热备份: 主备AC两个独立的IP地址,通过VRRP对外虚拟为同一个IP地址,单个AP和虚拟IP建立一条CAPWAP链路。主AC备份AP信息、STA信息和CAPWA…

关于三维模型OBJ格式轻量化压缩必要性探讨

关于三维模型OBJ格式轻量化压缩必要性探讨 三维模型的OBJ格式轻量化压缩在当前的计算机图形学和虚拟现实应用中具有重要的必要性。以下是对三维模型OBJ格式轻量化压缩必要性的分析: 1、提高加载和传输效率:随着三维模型的复杂性不断增加,原始…

【day10】驱动

作业&#xff1a; 基于platform实现 添加设备树节点 irq_led{ compatible “hqyj,irq_led”; //用于获取节点 interrupt-parent <&gpiof>; //引用父节点 interrupts <9 0>; //这个节点引入的中断管脚 led1<&gpioe 10 0>; }; 1.驱动端 #include…

火狐浏览器使用scss嵌套编写css无法识别问题

火狐浏览器使用scss嵌套编写css无法识别问题 版本&#xff1a; “node-sass”: “^4.14.1”, “sass-loader”: “^7.3.1”,vue版本&#xff1a; v2问题描述&#xff1a; 我的文件目录是这样的&#xff1a; 而在scss文件中我是这样书写的 .vue文件中 在火狐浏览器中 在谷…

基于Android的学生信息管理系统

基于Android的学生信息管理系统 一、系统介绍二、功能展示三、其他系统实现五.获取源码 一、系统介绍 项目名称&#xff1a;学生信息管理系统 主要技术&#xff1a;java、android 开发工具&#xff1a;Eclipse(ADT) 运行工具&#xff1a;只能使用Eclipse 数 据 库&#xf…

用于统计编码时长的Wakapi

本文应网友 suka 的要求折腾&#xff0c;但是否符合他得要求就不得而知了&#xff0c;因为老苏不是程序员&#xff0c;没有这方面的需求&#xff1b; 什么是 Wakatime &#xff1f; WakaTime 是一个可以统计你在不同语言、项目上写代码时长的工具。 它支持多种 IDE、编辑器。 它…

商汤科技半年报出炉:生成式AI商业化成果喜人,驱动四大业务飞跃

撰稿|行星 来源|贝多财经 8月28日&#xff0c;商汤科技&#xff08;HK:0020&#xff09;发布了2023年上半年业绩报告。从财务数据来看&#xff0c;商汤科技在2023年上半年业绩表现稳健&#xff0c;大模型和生成式AI推动各项业务板块取得长足进步。 一、生成式AI表现亮眼&…

Koa + Prisma 快速入门

10分钟掌握 Koa Prisma 实现数据库 CRUD 前言 Prisma 是号称下一代的 ORM 工具&#xff0c;同样是基于 TypeScript 实现&#xff0c;但是带来了很强的类型安全。 本文使用 Koa.js 搭建一个简单的 Web 服务&#xff0c;配合 MySQL 数据库&#xff0c;来演示如何通过 Prisma …

【100天精通python】Day47:python网络编程_Web编程

目录 1 网络编程与web编程 1.1 网络编程 1.2 web编程 2 Web开发概述 3 Web开发基础 3.1 HTTP协议 3.2 Web服务器 3.3 前端基础 3.4 静态服务器 3.5 前后端交互的基本原理 4 WSGI接口 4.1 CGI 简介 4.2 WSGI 简介 4.3 定义 WSGI 接口 4.4 运行 WSGI 服务 4.5…

面霸的自我修养-synchronized

今天是《面霸的自我修养》的第3弹&#xff0c;内容是Java并发编程中至关重要的关键字synchronized&#xff0c;作为面试中的“必考题”&#xff0c;这部分是你必须要充分准备的内容&#xff0c;接下来我们就一起一探究竟吧。 数据来源&#xff1a; 大部分来自于各机构&#x…

SpringWeb(SpringMVC)

目录 SpringWeb介绍 搭建 SpringWeb SpringWeb介绍 Spring Web是一个基于 Servlet API 构建的原始 web 框架&#xff0c;用于构建基于MVC模式的Web应用程序。在 web 层框架历经 Strust1&#xff0c;WebWork&#xff0c;Strust2 等诸多产品的历代更选 之后&#xff0c;目前业界普…