必须了解的日志文件

本文介绍了如何限制GRUB引导参数的修改,包括两种设置密码的方法,以及Linux文件系统的inode结构和日志分析。讲解了inode包含的文件元信息,文件的三个主要时间属性,以及cp、rm和mv命令对inode的影响。此外,还探讨了日志文件的重要性,常见的日志文件类型及其管理策略。
摘要由CSDN通过智能技术生成

一、限制更改GRUB引导参数

方法一:
直接添加密码:grub2-setpassword

[root@localhost ~]# grub2-setpassword 
Enter password: 
Confirm password: 
[root@localhost ~]# 

方法二:
通常情况下在系统开机进入GRUB菜单时,按e键可以查看并修改GRUB引导参数,这对服务器时一个极大的威胁。可以为GRUB菜单设置一个密码,只有提供正确的密码才会被允许修改引导参数。
grub2-mkpasswd-pbkdf2 #根据提示设置GRUB菜单的密码
PBKDF2 hash of your password is grub.pbkd… #省略部分内容为经过加密生成的密码字符串
cp /boot/grub2/grub.cfg/boot/grub2/grub.cfg.bak
cp /etc/grub.d//00_header /etc/grub.d//00_header.bak
vim /etc/grub.d//00_header
cat << EOF
set superusers=“root” #设置用户名为root
password_pbkdf2 root grub.pbkd2… #设置密码,省略部分内容为经过加密生成的密码字符串
EOF
grub2-mkconfig -o /boot/grub2/grub.cfg #生成新的grub.cfg文件
重启系统进入GRUB菜单时,按e键将需要输入账号密码才能修改引导参数。

方法二比较复杂,个人建议还是使用方法一。

二、Linux文件系统与日志分析

2.1 inode 表结构

每个文件的属性信息,比如:文件的大小,时间,类型,权限等,称为文件的的元数据(meta data)
元数据时存放在inode 表中,inode表中由很多条记录组成,第一条记录对应的存放了一个文件的元数据信息

每一个inode表记录对应的保存了以下信息:

  • inode number节点号

  • 文件类型

  • 权限

  • UID

  • GID

  • 链接数(指向这个文件名路径名称个数)

  • 该文件的大小和不同的时间戳

  • 指向磁盘上文件的数据块指针

  • 有关文件的其他数据

2.2inode和block概述

文件数据包括元信息与实际数据
文件存储在硬盘上,硬盘最小储存单位时“扇区”,每个扇区存储512字节
block(块)

  • 连续的八个扇区组成一个block

  • 时文件存取的最小单位

inode(索引节点)

  • 中文译名为“索引节点”,也叫i节点

  • 用于存储文件元信息

    元信息——inode
    数据——block
    

2.3inode包含文件的元信息

   文件的字节数
   文件拥有者的User ID
   文件的Group  ID
   文件的读、写、执行权限
   文件的时间戳
 用stat命令可以查看某个文件的inode信息
[root@localhost ~]# mkdir aa.txt
[root@localhost ~]# ls
aa      anaconda-ks.cfg  initial-setup-ks.cfg  模板  图片  下载  桌面
aa.txt  elsfk.sh         公共                  视频  文档  音乐
[root@localhost ~]# stat aa.txt
  文件:"aa.txt"
  大小:6         	块:0          IO 块:4096   目录
设备:fd00h/64768d	Inode:4680698     硬链接:2
权限:(0755/drwxr-xr-x)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2021-09-25 14:08:26.840285360 +0800
最近更改:2021-09-25 14:08:26.840285360 +0800
最近改动:2021-09-25 14:08:26.840285360 +0800
创建时间:-

2.4Linux系统文件三个主要的时间属性

  • ctime(change time)
    最后一次改变文件或目录(属性的时间)

  • atime(access time)

    最后一次访问文件或目录的时间

  • mtime(modify time)

    最后一次修改文件或目录(内容)的时间

2.5目录文件的结构

    目录也是一种文件
    目录文件的结构
 每个inode都有一个号码,操作系统用inode号 来识别不同的文件
 Linux系统内部不使用文件名,而使用inode号来识别文件
 对于用户,文件名只是inode号码便于识别的别称  

2.6cp和inode

cp命令:

  • 分配一个空闲的node号,在inode表中生成新条目
  • 在目录中创建一个目录项,将名称与inode编号关联
  • 拷贝数据生成新的文件
    rm命令
  • 硬链接数递减,从而释放的inode号可以被重用
  • 把数据块放在空闲列表中
  • 删除目录项
  • 数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖
    mv和inode
  • 如果mv命令的目标和源在同一设备, 不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被移动!删除旧的目录对应关系新建目录对应关系
    在这里插入图片描述
[root@localhost ~]# cd aa
[root@localhost aa]# find -inum 67 -delete 
[root@localhost aa]# ls
[root@localhost aa]# touch b.txt
[root@localhost aa]# ls -i
102004793 b.txt
[root@localhost aa]# find -inum 137985 -exec rm {} \;
[root@localhost aa]# ls
b.txt
[root@localhost aa]# 

三种时间戳

当新创建一个文件时,这个文件的最后访问时间、最后内容修改时间、最后状态更新时间都是一致的。

修改一个文件的权限状态信息,只会更新这个文件的最后状态修改时间

对比事例2,这里最后状态时间、最后内容改变时间都被更新了。 当修改一个文件时,文件的Modify、Change会被更新

当查看文件时,文件的 Access time 会更新。

当需要了解这个文件有没有被修改过 - Modify Time 当需要了解这个文件最后被查看的时间 - Access Time
当需要了解这个文件权限最后变动的时间 - Change Time

2.7文件存储

硬盘分区后的结构
在这里插入图片描述
在这里插入图片描述

2.8inode的大小

inode也会消耗硬盘空间

  • 每个inode的大小

  • 一般是128字节或256字节
    格式化文件系统时确定inode的总数
    使用df -i命令可以查看每个硬盘分区的inode总数和已经使用的数量

2.9inode的特殊作用

由于inode号码与文件名分离,导致一些Unix/Linux系统具有以下的现象

  • 当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件

  • 移动或重命名文件时,只改变文件名,不影响inode号码

  • 打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名

2.10链接文件

为文件或目录建立链接文件
链接文件分类
在这里插入图片描述

2.11硬连接与软连接

硬连接 同一个文件取不同的名或者叫多个名字不支持文件夹,创建一个链接数加一,多路径访问。
软连接 类似于windows里快捷方式,软连接,符号连接
ln(link)
ln [-s]源文件或目录…链接文件或目标位置
加s是软连接 符号连接
在这里插入图片描述

[root@localhost aa]# ll -d /test/
drwxr-xr-x. 2 root root 6 925 16:21 /test/
[root@localhost aa]# cd /test/
[root@localhost test]# ls
[root@localhost test]# mkdir a
[root@localhost test]# ll -d
drwxr-xr-x. 3 root root 15 925 16:23 .

三、日志

3.1内核及系统日志

Linux操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/下

3.2常见的一些日志文件:

在这里插入图片描述

四、分析日志文件

日志文件位置默认位于:/var/log目录下 日志的功能:

  • 用于记录系统、程序运行中发生的各种事件
  • 通过阅读日志,有助于诊断和解决系统故障

4.1日志文件的分类

  • 内核及系统日志:这种日志数据由系统服务rsyslog同一管理,根据其主配置文件/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置
  • 用户日志:这种日志数据用于记录Linux系统用户登录及退出系统通过的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等
  • 程序日志:有些应用程序会选择由自己独立管理一份日志文件(而不是交给rsyslog服务管理),用于记录本程序运行中的各种信息

4.2日志文件的格式

在这里插入图片描述

  • 事件产生的时间。
  • 产生事件的服务器的主机名。
  • 产生事件的服务名或程序名。
  • 事件的具体信息。

4.3日志管理

  • 及时做好备份和归档
  • 延长日志保存期限
  • 控制日志访问权限
    • 日志中可能会包含各类敏感信息,如账户和口令等
  • 集中管理日志
    • 将服务器的日志文件发到统一-的日志文件服务器
    • 便于日志信息的统- -收集、 整理和分析
    • 杜绝日志信息的意外丢失、恶意篡改或删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老赵学coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值