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

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.mzph.cn/news/68725.shtml

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

相关文章

个人炒伦敦银方法大公开

个人炒伦敦银的方法与机构投资者炒这个品种的方法是有不同的,但是双方可能会借鉴一些相同的分析工具,比方说有的机构可能也会使用技术分析,当然,个人投资者对技术分析这个词更是不会陌生。今天我们就从个人投资者的角度出发&#…

LeetCode(力扣)669. 修剪二叉搜索树Python

LeetCode669. 修剪二叉搜索树 题目链接代码 题目链接 https://leetcode.cn/problems/trim-a-binary-search-tree/ 代码 递归 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # …

如何在IPhone 14、14 Pro和14 Pro Max上添加屏幕锁定

当你第一次获得iPhone时,系统会提示你为它创建一个密码,这样只有你才能访问它。你应该使用一个必须输入的密码,以便在iPhone 14被唤醒或打开时解锁它。这将提供更高级别的保护。当你打开数据保护时,iPhone上的数据会被加密&#x…

Unity Android 之 在Unity 中引入 OkHttp的操作注意(OKHttp4.xx- kotlin 的包)简单记录

Unity Android 之 在Unity 中引入 OkHttp的操作注意(OKHttp4.xx- kotlin 的包)简单记录 目录 Unity Android 之 在Unity 中引入 OkHttp的操作注意(OKHttp4.xx- kotlin 的包)简单记录 一、简单介绍 二、OKHttp 4.xx 的 SDK 封装 aar 给 Unity 的使用注意 三、附录 OKHttp 的…

Linux gdb单步调试的原理

文章目录 一、demo演示二、原理分析参考资料 一、demo演示 .section .data message:.string "Hello, World!\n" len . - message.section .text .globl _start _start:# 调用 write() 函数输出 "Hello, World!"mov $1, %rax # 系统调用号为 1…

AIGC专栏5——EasyPhoto AI写真照片生成器 sd-webui插件介绍、安装与使用

AIGC专栏5——EasyPhoto AI写真照片生成器 插件安装与使用 学习前言源码下载地址技术原理储备(SD/Control/Lora)StableDiffusionControlNetLora EasyPhoto插件简介EasyPhoto插件安装安装方式一:Webui界面安装 (需要良好的网络&…

Wasm软件生态系统安全分析

本文转载自 OpenHarmony TSC 官方微信公众号《峰会回顾第12期 | Wasm软件生态系统安全分析》 演讲嘉宾 | 王浩宇 回顾整理 | 廖 涛 排版校对 | 李萍萍 嘉宾简介 王浩宇,华中科技大学教授,博士生导师,华中科技大学OpenHarmony技术俱乐部主任…

Qt CMake 中国象棋程序实现

前驱课程 C自学精简实践教程 目录(必读) C数据结构与算法实现(目录) Qt 入门实战教程(目录) 项目初衷 为学习 Qt 的人提供一个合适的有一定难度的综合型练习项目。 在学会写代码之前,先看别人怎么写的代码。深入…

Linux以系统服务的方式启动Kafka(其他服务同理)

最终效果: 先回顾命令行的启动方式: kafka的启动 进入kafka的安装目录 1、首先启动zookeeper服务: bin/zookeeper-server-start.sh config/zookeeper.properties2、再启动kafka bin/kafka-server-start.sh config/server.properties &…

记录一次WMware网络问题

目录 ​编辑 一、问题描述 二、问题排查 2.1 指令ifconfig 查看ip信息 2.2 nmcli n 查看网卡状态 三、问题解决 3.1 启动 NetworkManager 网络管理器 3.2 ifup ens160 启动网卡 一、问题描述 我在我本地电脑上使用WMware虚拟机部署了k8s,有次正常关机后&am…

docker安装mysql、clickhouse、oracle等各种数据库汇总

1:docker 安装mongo数据库并使用 官网:https://www.mongodb.com/docs/manual/ 安装 :https://www.zhihu.com/question/54602953/answer/3047452434?utm_id0 安装2:https://www.duidaima.com/Group/Topic/ArchitecturedDesign/91…

让GPT成为您的科研加速器丨GPT引领前沿与应用突破之GPT4科研实践技术与AI绘图

GPT对于每个科研人员已经成为不可或缺的辅助工具,不同的研究领域和项目具有不同的需求。如在科研编程、绘图领域:1、编程建议和示例代码:无论你使用的编程语言是Python、R、MATLAB还是其他语言,都可以为你提供相关的代码示例。​2、数据可视化…

Java 多线程系列Ⅳ(单例模式+阻塞式队列+定时器+线程池)

多线程案例 一、设计模式(单例模式工厂模式)1、单例模式2、工厂模式 二、阻塞式队列1、生产者消费者模型2、阻塞对列在生产者消费者之间的作用3、用标准库阻塞队列实现生产者消费者模型4、模拟实现阻塞队列 三、定时器1、标准库中的定时器2、模拟实现定时…

Java8新特性stream和parallelStream有什么区别

1 stream和parallelStream的区别 1.Stream 是在 Java8 新增的特性,普遍称其为流;它不是数据结构也不存放任何数据,其主要用于集合的逻辑处理。 2.Stream流是一个集合元素的函数模型,它并不是集合,也不是数据结构&…

Redis数据类型

目录 前言一、数据类型二、Redis单线程模型三、String类型四、什么是业务五、Hash类型六、List类型七、SET类型八、ZEST类型 前言 一、数据类型 Redis主要有Strings、Lists、Sets、Hashes、Sorted sets等数据类型,这些都是非常通用的,还有一些少见的可…

腾讯张乐:“反内卷”潮流已至,研发效能是软件企业必由之路

目录 Why|“狂飙”踩下刹车,“湖水岩石效应”加速显现 What|效能 ≠ 效率,效能 效率 有效性 How|研发效能“黄金三角” e.g.|软件研发效能实践中的“坑”与“解” 1. 忽视重视工程师的声音 2. “迷…

使用iCloud和Shortcuts实现跨设备同步与自动化数据采集

在如今的数字时代,跨设备同步和自动化数据采集对于提高工作效率和便利性至关重要。苹果的iCloud和Shortcuts App为我们提供了强大的工具,可以实现跨设备同步和自动化数据采集的功能。本文将详细介绍如何利用iCloud和Shortcuts App实现这些功能&#xff0…

电力智能监控系统

电力智能监控系统依托电易云-智慧电力物联网,利用计算机、计量保护装置和总线技术,对中、低压配电系统的实时数据、开关状态及远程控制进行了集中管理。该电力监控系统可以为企业提供"监控一体化"的整体解决方案,主要包括实时历史数…

固定资产卡片乱怎么管理

固定资产卡片是记录公司固定资产信息的重要工具,如果管理不善,容易造成卡片混乱、数据错误等问题。 为了避免这种情况的发生,可以采取以下措施:  建立完善的资产管理制度,明确固定资产的分类、标准和使用情况&#x…

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书山东师范大学图书馆

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书山东师范大学图书馆