Linux 系统日志及其归档

2024-01-09

主要记录Linux 系统需要关注的日志文件,以及日志归档服务 rsyslogd

系统日志服务

rsyslogd 日志服务

rsyslogd reliable and extended syslogd 可靠 可扩展的系统日志服务

Rsyslogd是一个系统实用程序,提供对消息日志记录的支持。同时支持internet和unix域套接字使该实用程序能够支持本地和远程日志记录。

配置文件

more /etc/rsyslog.conf|grep -v '#'|grep -v ^$
$umask 0022
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none;local0.none          /var/log/messages
authpriv.*          /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
local0.*          /var/log/keepalived.log

从上述的配置文件里面可以看到我们需要关注的系统日志文件,一般都不动这个配置

感兴趣可以上官网看看: RSyslog Documentation - rsyslog

logrotate 日志归档

logrotate rotates, compresses, and mails system logs 归档 压缩 邮件发送系统日志

配置文件

/etc/logrotate.conf
/etc/logrotate.d/

来,上配置文件,如下是默认的配置:

more /etc/logrotate.conf 
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
dateext

# uncomment this if you want your log files compressed
#compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly                 # 每次归档以月为周期
    create 0664 root utmp   # 不存在时依据权限 0664 root:utmp 创建
        minsize 1M
    rotate 1                # 转储保留次数,为0即归档时删除旧的归档
}

/var/log/btmp {
    missingok               # 默认off ,表示如果文件不存在,停止所有文件的归档
    monthly
    create 0600 root utmp
    rotate 1
}

# system-specific logs may be also be configured here.

查看归档情况

more /var/lib/logrotate/logrotate.status

注意

/etc/logrotate.d/syslog 这里写着系统日志的归档方式

more /etc/logrotate.d/syslog
   sharedscripts
   postrotate
        /usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
   endscript

logrotate 在每次对应的日志文件轮转后运行postrotate 与 endscript 之间的命令或脚本

message 里面能看到归档后执行结果
rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-38.el7" x-pid="1487" x-info="http://www.rsyslog.com"] rsyslogd was HUPed

系统日志简介

如下所有的文件默认指/var/log 目录下,如果不是将写全路径,主要是依据Centos 7版本

messages

从rsyslogd 的配置中可以看出来,message 文件包含了很多的系统日志,错误、警告、通知

一般,排查系统运行过程中出现的问题,会先从message入手

boot.log

系统的引导日志,系统开机看到刷刷刷的打印,内容就会记录在这里,记录了系统引导过程中的所有信息,包括硬件检测、内核加载、启动服务等

一般发现系统启动异常,比如启动慢,启动报错等问题,会从这里入手排查,看失败的任务有哪些,这都将会影响到系统启动

secure

安全日志文件,记录了系统中所有安全相关的信息,包括登录失败、系统入侵尝试、安全事件等

一般,我们需要检查secure日志里面登录失败记录,因为如果出现大量的不同用户登录失败的记录,就表示有人在尝试爆破服务器了,这时候需要特别关注,考虑加入黑名单或者更新ssh端口了

一些简单手段:

1、 /etc/hosts.deny  IP或者用户写进去,将无法通过ssh登录, 慎用

man HOSTS_ACCESS
或者
man hosts.deny

2、最好是屏蔽root用户登录,用普通用户登录再提权,修改ssh端口

3、添加sudo 失败尝试锁定

more /etc/pam.d/system-auth-ac
修改如下内容,5次输错后,锁定300秒
auth        required      pam_tally2.so deny=5 unlock_time=300

man pam_tally2 
This module maintains a count of attempted accesses, 
can reset count on success, can deny access if too many attempts fail.

Add the following line to /etc/pam.d/login to lock the account after 4 failed logins. 
Root account will be locked as well. The accounts will be
       automatically unlocked after 20 minutes. The module does not have to be called
       in the account phase because the login calls pam_setcred(3)
       correctly.

现象以及解锁

锁定现象:
sudo su -
[sudo] password for username: 
Sorry, try again.
[sudo] password for username: 

Account locked due to 19 failed logins
Password: 
su: Authentication failure

手工解锁:
pam_tally2 -u username --reset

4、加强口令策略以及密码尝试限制

more /etc/pam.d/system-auth
# 限制重试次数,2次
password    requisite     pam_pwquality.so try_first_pass local_users_only retry=2 authtok_type=

# 限制密码口令长度10位以上 复杂度2种以上 口令历史 20次
password    sufficient    pam_unix.so remember=20 minlen=10 minclass=2 sha512 shadow nullok try_first_pass use_authtok

# 加载拒绝登录
password    required      pam_deny.so

5、限制用户 IP段 用户组登录, 注意别把自己拒绝了,会无法访问的

more /etc/security/access.conf
+ : ALL : 192.168.0.0/16         # 允许这个段登录
- : ALL EXCEPT root myuser mygroup : ALL   # 拒绝所有 除了root/myuser/mygroup 这些用户或者用户组

dmesg

内核日志文件,记录了系统内核的所有输出信息,包括硬件检测、设备驱动加载、内核错误等。

感兴趣可以看看,这个比 boot.log 详细

maillog

邮件日志文件,记录了系统中所有邮件相关的信息,包括发送、接收、退回等

这个一般不看,平时也不用系统自带mail ,有需要的可以了解一下

kdump.log

有些系统启用了kdump 用来保存系统异常崩溃时的信息

lastlog

记录所有用户的登录情况, 是一个data 文件,不能直接看,需要通过lastlog 命令查看

补充说明

utmp 将为我们提供用户登录终端、注销、系统事件和当前系统状态、系统启动时间(由正常运行时间使用)等的完整信息

wtmp 给出了 utmp 的历史数据

btmp 只记录失败的登录尝试

记录正确登入系统者的帐户信息 (wtmp) 与错误登入时所使用的帐户信息 (btmp)

后续有发现新的需要记录的日志文件,再追加上来

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 系统日志及其归档 的相关文章

  • Plink 通过 C# 返回不需要的字符

    通过 C 使用 Plink 时 我在结果前后收到不需要的字符 Command ls l informatica tgtdynamicparams out grep vaulttest grep Sep 1 awk print 9 sort
  • 无法在 Linux 中阻止从命名管道 (FIFO) 读取

    很奇怪 我似乎无法完成这项工作 这是我的架构 我有一个命名管道 它将在永远运行 root读取器进程和多个应用程序编写器进程 读者进程必须是blocking当作家们在nonblocking 因此 这就是我在阅读器进程中所做的 该进程将运行ro
  • python kivy在矩形内添加文本

    如何在矩形内添加文本 我使用下面的代码并在画布内添加了一个标签 希望它能显示在矩形内 import kivy from kivy app import App from kivy uix anchorlayout import Anchor
  • 使用 sed 和 pstree 显示正在使用的终端类型

    我一直在尝试仅显示用作名称的终端类型 例如 如果我使用 konsole 它会显示 konsole 到目前为止我一直在使用这个命令 pstree A s 输出这个 systemd konsole bash pstree 我有以下内容可以从该行
  • Yocto for Nvidia Jetson 由于 GCC 7 而失败 - 无法计算目标文件的后缀

    我正在尝试将 Yocto 与 meta tegra 一起使用 https github com madisongh meta tegra https github com madisongh meta tegra 为 Nvidia Jets
  • 如果从 Java 启动,子进程将忽略 SIGQUIT

    举这个简单的例子 public class Main public static void main String args throws Exception Runtime getRuntime exec sleep 1000 This
  • ELF 文件头

    关于 elf 文件头的一个简单问题 我似乎找不到任何关于如何在 elf 头中添加 更改字段的有用信息 我希望能够更改幻数并向标题添加构建日期 以及可能的其他一些内容 据我了解 链接器创建标头信息 但我在 LD 脚本中没有看到任何引用它的内容
  • 如何在 ssh 命令中使用长输入参数正确转义 qsub 命令?

    我有一个复杂的 qsub 命令可以远程运行 PROJECT NAME TEXT TEST PROJECT PACK ORGANIZATION source organization MY ORGANIZATION CONTACT NAME
  • 变量名称后面的“-”(破折号)在这里有什么作用?

    if n BASH o n ZSH VERSION then hash r 2 gt dev null fi 我在哪里可以找到这方面的参考资料 谢谢 a 内的变量 称为 参数扩展 搜索该词在在线手册中 https man cx bash h
  • c 中的分叉和管道过程

    所以我有一个项目要做 但我完全被难住了 我花了十个小时却一无所获 我并不是特别想要答案的代码 但是一些伪代码和正确方向的良好提示将有帮助 它分叉多个进程 k 命令行参数 通过管道连接 每个进程都连接到下一个进程 最后一个进程连接到第一个进程
  • 如何尽可能快地输出固定缓冲区?

    示例代码 include
  • CMake:不要为链接中使用的单个库设置 rpath

    我想要做的是配置我的 CMakeLists 文件 以便在构建我的项目时 链接器使用驻留在我的构建树中的共享库 so 的副本来链接可执行文件 但不会在中设置 rpath链接的可执行文件 以便系统必须在加载程序请求时提供该库 具体来说 我想在构
  • 由于参数中有空格,Bash 脚本因未知选项而失败

    我正在尝试运行 aws create lambda 函数 事情的经过如下 eval aws lambda create function function name FUNCTION NAME runtime RUNTIME role RO
  • 健全性检查 SSH 公钥? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我已要求用户提供他们的公共 id rsa pub ssh 密钥 然后将其放入 home theiraccount ssh authorized key
  • Azure Nvidia 中的 apt-update 出现公钥错误

    我在 AZURE 上启动了 NVIDIA VM 并尝试使用进行更新sudo apt update但给出错误 Hit 2 http azure archive ubuntu com ubuntu focal InRelease Hit 3 h
  • 启动jetty服务器时出现NoClassDefFoundError

    我正在尝试在码头服务器中托管我的网络应用程序 spring 我将 war 文件复制到 jetty 服务器中的 webapp 文件夹中 我并不是想嵌入jetty服务器 而是试图在jetty内托管应用程序 如tomcat 我没有安装jetty
  • POSIX:FreeBSD 与 Linux 中的管道系统调用

    在 Linux 2 6 35 22 generic 中 man pipe指出 pipeline 创建一个管道 一个可用于进程间通信的单向数据通道 在 FreeBSD 6 3 RELEASE p5 中 man pipe指出 pipeline
  • /etc/php5/conf.d 文件夹中的 .ini 文件有什么用?

    我知道 ini 文件位于 etc php5 cli与 PHP 的 CLI 使用有关 文件位于 etc php5 fpm是关于 PHP 的 FastCGI FPM 方面 但是位于以下位置的 ini 文件又如何呢 etc php5 conf d
  • 使用Linux虚拟鼠标驱动

    我正在尝试实施一个虚拟鼠标驱动程序根据基本 Linux 设备驱动程序书 有一个用户空间应用程序 它生成坐标以及内核模块 See 虚拟鼠标驱动程序和用户空间应用程序代码 http www embeddedlinux org cn Essent
  • 更改子进程中的 iostream

    现在 我正在开发一个项目 其中我需要启动一个子进程来使用 C 在 Linux 中执行一个新程序 并且我需要重定向标准输入和输出 就像在 C 中一样 它们是cin and cout 到一个文件 这意味着在子进程中 标准输入和输出都是文件 子进

随机推荐

  • 黑豹程序员-字符串中查找出重复的字符串

    Collections frequency codeList element 字符串element 在codeList集合中重复的次数 List
  • 字节码指令例子分析

    什么是字节码指令 字节码指令就是由一个字节长度的操作吗和操作数组成 有些只有操作码 没有操作数 例如 bipush 10 第一个参数就是操作码 第二个是操作数 a 和i 有什么区别 public static void main Strin
  • Linux搭建测试环境详细步骤

    本文讲解如何在Linux CentOS下部署Java Web项目的步骤 环境准备 1 Linux系统 2 JDK 3 Tomcat 4 MySQL 工具下载 一 Linux系统 本文主要是Linux CentOS7为例 自己在家练习小项目的
  • 浏览器缓存相关面试题一网打尽,理论结合实践,用代码学习缓存问题,建议关注+收藏,(含项目源代码)

    前言 浏览器缓存的问题是面试中关于浏览器知识的重要组成部分 也是性能优化题目的一部分 但是不要被吓到 我话放到这里 就那么点东西 我这一篇文章基本上就涵盖了所有相关的知识点 认真看一遍 所有的问题都是纸老虎 一 准备工作 1 1 拉取仓库
  • “单项突出”的赢双科技IPO加速,比亚迪是最强助力?

    近日 新能源汽车核心部件供应商赢双科技首次递表科创板 其凭借旋转变压器产品就坐稳了新能源车企主要供应商的地位 从核心业务及业绩情况来看 赢双科技不愧为 单项冠军 据悉 赢双科技本次IPO拟募资8 47亿元 主要将用于年产旋转变压器910万台
  • Qt源码分析:Qt程序是怎么运行起来的?

    一 从 exec 谈起 一个标准的Qt gui程序 在启动时我们会coding如下几行简洁的代码 include widget h include
  • AI壁纸画展头像表情包流量主微信抖音小程序开源版开发

    AI壁纸画展头像表情包流量主微信抖音小程序开源版开发 以下是AI壁纸画展头像表情包流量主微信抖音小程序开源版的开发功能列表 用户注册和登录 实现用户注册和登录功能 包括手机号登录 第三方登录等方式 图片上传和展示 用户可以上传自己的图片或选
  • idea分支代码合并说明

    Rebase feature 1 0 0 onto origin release 1 0 0 Merge origin release 1 0 0 into feature 1 0 0 pull into feature 1 0 0 Usi
  • 一文了解VR全景技术如何运用在乡村发展,助力乡村振兴

    引言 随着科技的不断发展 VR全景技术作为一项创新科技成为了助力乡村振兴的新力量 通过在乡村中应用VR全景技术 不仅能够带动乡村旅游的发展 还能够提升乡村生态环境的保护意识和乡村文化的传承 促进乡村振兴的全面发展 一 VR全景技术的优势 1
  • PCB设计规范及技巧顺口溜100句

    PCB设计 细节要牢记 技巧规范 别忘记 元件选择 要慎重权衡 性能优化 细节考虑 电路布局 尺寸精确 差分信号 清晰准确 地平面铺 阻抗匹配 多层堆叠 功耗降低 信号路径 长度平等 串扰减小 信噪比增 参考设计 莫忽略 静电防护 接地要密
  • 多项目同时进行如何做好进度管理?

    目前 许多企业都面临着同时进行多个项目的挑战 相比单一项目管理 多项目管理更加困难 其中主要问题包括项目资源分配不均 多项目进度监控困难以及沟通协作的复杂性 虽然已经有很多经验丰富的人分享了多项目管理的原则和方法论 但正如有人所说 知道很多
  • word技巧

    word这个东西有的时候令人又爱又恨 很多用上的时候都是因为自己贫瘠的技巧而令人抓狂 比如设置一个页脚和页眉 首页如何不同 目录页如何设置罗马数字 页眉前面几页不要横线 后面几页要横线 谨以此文记录一下操作方法 注 本文所示所有功能都基于w
  • EMD+包络谱故障诊断

    EMD是一种信号处理方法 用于将信号分解成多个本征模态函数 Intrinsic Mode Functions IMF 每个IMF代表信号中的一个固有振动模式 VMD在处理非平稳信号和非线性信号方面具有较好的性能 包络谱峭度是一种用于描述信号
  • 2024年最热门的15个科技工作岗位

    1 系统安全管理员 系统安全管理员的任务是确保公司的网络 数据和系统免受网络安全威胁 方法是确保有适当的安全战略并保持最新的合规性和策略 要求 应聘者应具有网络安全职位的工作经验 并对合规性和安全协议的最佳实践有坚实的基础 这个职位通常需要
  • Failed to create CUDAExecutionProvider 使用onnxruntime-gpu未成功调用gpu

    最近在使用GPU对onnx模型进行加速过程中 仅针对N卡 毕竟也没有别的显卡了 遇到了点问题 就是明明在安装了合适版本的显卡驱动和CUDA后 onnx还是不能够成功调用GPU 并且还出现了先导入torch 再导入onnxruntime就可以
  • 奇异值分解

    https blog csdn net Jayphone17 article details 113106887 降维与压缩 奇异值分解 SVD 奇异值分解 Singular Value Decomposition SVD 可以用于降维 特
  • 网络空间安全女生就业,怎么学?

    我实验室的学长们基本都是以红队和复现为主 如果学校好点可能还有更多的选择 如果想在这个方向深入下去 推荐流程是先打两年CTF 把大概的技术方向摸一摸 大一的话 如果学校还不错 那就优先建议打好基础 包括C语言 Python一类 建议把CTF
  • 解决“DataFrame object has no attribute append“问题

    1 将append改为了 append 这个成功了 dataframe dataframe append 2 可以使用 pandas concat 方法代替 dataframe append 这个我没试验成功 出现这个报错 TypeErro
  • OPT 大华SDK

    OPT 大华SDK
  • Linux 系统日志及其归档

    主要记录Linux 系统需要关注的日志文件 以及日志归档服务 rsyslogd 系统日志服务 rsyslogd 日志服务 rsyslogd reliable and extended syslogd 可靠 可扩展的系统日志服务 Rsyslo