CentOS 7 登录档简易说明


  • 登录档的重要性

为什么说登录文件很重要,

  • 解决系统方面的错误:

用 Linux 这么久了,你应该偶而会发现系统可能会出现一些错误,包括硬件捉不到或者是某些系 统服务无法顺利运作的情况。 此时你该如何是好?由于系统会将硬件侦测过程记录在登录文件内, 你只要透过查询登录文件就能够了解系统作了啥事!

  • 解决网络服务的问题:

由于网络服务的各种问题通常都会被写入 特别的登录档, 其实你只要查询登录档就会知道出了什么差错,

  • 过往事件记录簿:

这个东西相当的重要!例如:你发现 WWW 服务 (httpd 软件) 在某个时刻流量特别大,你想要 了解为什么时, 可以透过登录档去找出该时段是哪些 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 就是这样处理的。另一种则是由 Linux distribution 提供的登录档管理服务来统一管理。

我们可以透过 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 来查看各个不同服务的登录档!

登录档内容的一般格式

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

  • 事件发生的日期与时间;
  • 发生此事件的主机名;
  • 启动此事件的服务名称 (如 systemd, CROND 等) 或指令与函式名称 (如 su, login..);
  • 该讯息的实际数据内容。

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

[root@study ~]# cat /var/log/secure
Aug 17 18:38:06 study login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
Aug 17 18:38:06 study login: ROOT LOGIN ON tty1
Aug 17 18:38:19 study login: pam_unix(login:session): session closed for user root
Aug 18 23:45:17 study sshd[18913]: Accepted password for dmtsai from 192.168.1.200 port 41524 ssh2
Aug 18 23:45:17 study sshd[18913]: pam_unix(sshd:session): session opened for user dmtsai by (uid=0)
Aug 18 23:50:25 study sudo: dmtsai : TTY=pts/0 ; PWD=/home/dmtsai ; USER=root ; COMMAND=/bin/su -
Aug 18 23:50:25 study su: pam_unix(su-l:session): session opened for user root by dmtsai(uid=0)
|--日期/时间---|--H--|-服务与相关函数-|-----------讯息说明------>

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

其实还有很多的信息值得查阅的呢!尤其是 /var/log/messages 的内容。记得一个好的系统管理员,要 常常去『巡视』登录档的内容喔!尤其是发生底下几种情况时:

  • 当你觉得系统似乎不太正常时;
  • 某个 daemon 老是无法正常启动时;
  • 某个使用者老是无法登入时;
  • 某个 daemon 执行过程老是不顺畅时;

Linux学习-什么是登录档的更多相关文章

  1. Linux学习1——首次登录

    一.写在前面 在本节将介绍首次登录Linux系统(本文中为CentOS)所需要了解的一些基本操作.二.完成目标 1.了解GNOME和KDE窗口管理程序 2.使用在线求助man和info 3.基本命令操 ...

  2. Linux学习4-远程登录管理工具安装

    1.配置虚拟机网络环境 桥接模式:使用真实网卡进行通信,配置简单,可以和通往内的其他真实机直接进行通讯,缺点是它会占用网段的一个IP地址. NAT模式:使用虚拟机模拟的虚拟网卡进行通讯,会使用VMne ...

  3. Linux学习-rsyslog.service :记录登录文件的服务

    rsyslog.service 的配置文件:/etc/rsyslog.conf 我们现在知道 rsyslogd 可以负责主机产生的各个信息的登录,而这些信息本身是有『严重等级』之分的, 而且, 这些资 ...

  4. Linux学习-分析登录档

    CentOS 预设提供的 logwatch 不过,要了解系统的状态,还是得要分析整个登录档才行~ 事实上, 目前已经有相当多的登录档分析工具,例如 CentOS 7.x 上面预设的 logwatch ...

  5. 鸟哥的linux私房菜学习记录之认识与分析登录档

    logwatch分析登录档

  6. Linux学习-登录档的轮替(logrotate)

    rsyslogd 利用的是 daemon 的方式来启动的, 当有需求的时候立刻就会被执行的,但是 logrotate 却是在规定的时间到了之后才来进行登录档的轮 替, 所以这个 logrotate 程 ...

  7. linux 登录档配置分析

    登录档的重要性 解决系统方面的错误: 解决网络服务的问题: 过往事件记录簿: Linux 常见的登录档档名 /var/log/cron: 你的 crontab 排程有没有实际被进行? 进行过程有没有发 ...

  8. Linux学习笔记之兄弟连

    systemctl --user enable pulseaudio说明:安装完成后系统没有声音,用该命令可以打开.ifconfig eth0 192.168.118.1说明:给网卡设置IP地址.ap ...

  9. Linux学习内容

    Linux学习要点(转载自红联) 一.学习Linux的基本要求1. 掌握至少50个以上的常用命令. 2. 熟悉Gnome/KDE等X-windows桌面环境操作 . 3. 掌握.tgz..rpm等软件 ...

随机推荐

  1. TDH-search汇报理解

    题目:海量数据查询开头:1.自我介绍:2.题目切入: 什么是海量数据查询?(海量数据,快速,符合要求) 几个常用场景(搜索引擎,百度:话单查询:影像平台,高铁)3.展示目录:架构,案例,平台规划 4. ...

  2. JS中实现JSON对象和JSON字符串之间的相互转换

    对于主流的浏览器(比如:firefox,chrome,opera,safari,ie8+),浏览器自己提供了JSON对象,其中的parse和stringify方法实现了JSON对象和JSON字符串之间 ...

  3. webpack.config.js====CSS相关:postcss-loader加载器,自动添加前缀

    1. 在webpack中加载css需要先安装style-loader 和 css-loader cnpm install --save-dev style-loader css-loader 2. 在 ...

  4. SQL数据库基础三

  5. 环境变量—《linux命令行与shell脚本编程大全》

    环境变量部分: 1.查看全局变量:printenv/env 2.显示单个环境变量的值:echo 如echo $HOME 3.显示为某个特定进程设置的所有环境变量:set 4.设置全局变量:创建局部环境 ...

  6. Python3+Selenium3+webdriver学习笔记6(多窗口切换处理)

    #!/usr/bin/env python# -*- coding:utf-8 -*- from selenium import webdriverfrom selenium.webdriver.co ...

  7. Lua与游戏的不解之缘

    本文转载自秦元培博客:blog.csdn.net/qinyuanpei 一.什么是Lua? Lua 是一个小巧的脚本语言,巴西里约热内卢天主教大学里的一个研究小组于1993年开发,其设计目的是为了嵌入 ...

  8. Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] B "Or" Game (贪心)

    首先应该保证二进制最高位尽量高,而位数最高的数乘x以后位数任然是最高的,所以一定一个数是连续k次乘x. 当出现多个最高位的相同的数就枚举一下,先预处理一下前缀后缀即可. #include<bit ...

  9. UVA 11134 FabledRooks 传说中的车 (问题分解)

    摘要:贪心,问题分解. 因为行列无关,所以这个二维问题可以分解成两个一维问题. 优先队列实现:类似区间点覆盖的问题,先按照左端点排序,相同然后在按右端点排序(灵活性小的优先选).最优的选法,当然是要使 ...

  10. 如何使用动画库animate.css

    animate.css是一个CSS3动画库,里面预设了抖动(shake).闪烁(flash).弹跳(bounce).翻转(flip).旋转(rotateIn/rotateOut).淡入淡出(fadeI ...