linux文件系统与日志分析

本文详细探讨了Linux文件系统的inode和block概念,包括inode的元信息、查看方法以及特殊作用,同时介绍了软链接与硬链接的差异。在日志分析部分,讲解了日志的功能、分类,重点讨论了sysklogd、rsyslog和ELK日志系统,以及如何管理和查询用户登录历史记录。此外,还提供了实际操作指导,如ssh服务日志的单独存放和网络日志的远程备份配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、文件系统

1、inode和block概述

2、 inode表结构

2.1 包含文件的元信息

2.2查看inode的方法

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

2.4目录文件结构

2.5 用户通过文件名打开文件时,系统内部的过程

3、inode的大小

4、inode的特殊作用

5、软链接与硬链接

5.1软链接

5.2硬链接

二、日志

1、日志的功能

2、日志文件的分类

3、系统日志介绍

3.1 sysklogd 系统日志服务

3.2 rsyslog 系统日志服务

3.3 ELK

4、rsyslog 管理

4.1 日志消息的级别

4.2 服务名称

4.3 rsyslog配置文件

5、主要日志文件介绍(不是绝对的)

6、查询用户登录的历史记录

6.1 last 命令用于查询成功登录到系统的用户记录

6.2 lastb 命令用于查询登录失败的用户记录

7、journalctl 日志管理工具

四、实际操作

1、将ssh服务日志单独存放

1.1 进入rsyslog配置文件,添加自己的文件位置

1.2 进入ssh配置文件,将ssh配置成使用local6

1.3 重启服务

1.4 验证,并查看本机日志记录(实时查看 tail -f /var/log/secure)

2、网络日志

2.1 发送方A关闭防火墙和selinux

2.2 打开配置文件,进行修改配置

2.3 重启服务

2.4 查看514端口是否启动

2.5 测试,使用logger写入一条测试日志

2.6 接收方B关闭防火墙和selinux

2.7 B开启TCP 以及端口514 

2.8 重启日志服务

2.9 查看接收方B是否能收到发送方A的日志记录


一、文件系统

1、inode和block概述

文件数据包括元信息实际数据

元数据是存放在inode(index node)表中。inode 表中有很多条记录组成,第一条记录对应的存放了一个文件的元数据信息。

元信息:每个文件的属性,如:文件大小、时间、权限、inode等

文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节

block(块)

  • 连续的八个扇区组成一个block,4k
  • 是文件存取的最小单位

inode(索引节点)

  • 中文译名为“索引节点”,也叫 i 节点
  • 用于存储文件元信息

一个文件必须占用一个inode ,至少占用一个block

扩:

inode同一个硬件设备上是唯一的,不可以跨设备,inode实际是资源,是可以被用完的,用完后无法创建任何文件。(xargs:读取前面的参数;   -n1:一个一个给)

2、 inode表结构

2.1 包含文件的元信息

  • 文件的字节数(字节占用多少空间,也称文件大小)
  • 文件拥有者的 User ID
  • 文件的 Group ID
  • 文件的读、写、执行权限
  • 文件的时间戳(ctime、atime、mtime)
  • 文件类型
  • 链接数
  • 有关文件的其他数据
  • 不包含文件名,文件名在目录结构中

2.2查看inode的方法

  • ls -i 命令:查看文件名对应的inode号码
  • stat 命令:查看文件的inode信息

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

  • 最近访问atime(access time)最后一次访问文件的时间。使用echo追加内容不会变,因为没有打开文件
  • 最近更改mtime(modify):最后一次更改文件内容的时间。更改完内容之后,ctime也会改变
  • 最近改动ctime(change time):最后一次改变文件元信息(文件或目录属性)的时间。改变后,mtime不变

2.4目录文件结构

目录是个特殊文件,目录文件的内容保存了此目录中文件的列表及inode number对应关系

  • inode不包含文件名,文件名是存放在目录文件夹当中的。Linux 系统中一切皆文件,因此目录也是一种文件
  • 是通过文件名来引用一个文件
  • 每个目录项由两部分组成:所包含文件的文件名,以及该文件名对应的inode号码。目录是目录下的文件名和文件inode号之间的映射
  • 每个inode都有一个号码,操作系统用inode号码来识别不同的文件
  • Linux系统内部不使用文件名,而使用inode号码来识别文件
  • 对于系统来说,文件名只是inode号码便于识别的别称

linux通过文件夹中会有一张文件名和inode一一对应关系的表(名字)去找inode号inode指向对应的实际数据

  1. 用户访问文件时先去查找自己文件夹中的目录项;
  2. 文件名和inode之间对应的关系;
  3. 通过 inode号利用指针去指向实际数据直接指针,间接指针
  4.  

扩:

如果把文件删除并没有做其他设置,此时真实数据并没有真的删除,删除的是inode号。

我的空间足够为什么不能继续键文件?因为inode号用完了

解决方法:1、如果是lvm逻辑卷,可以扩容  2、此时需要删除没有用的文件。

2.5 用户通过文件名打开文件时,系统内部的过程

  1. 系统找到这个文件名对应的inode号码
  2. 通过inode号码,获取inode信息
  3. 根据inode信息,找到文件数据所在的block,读出数据

当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode号码;通过inode号码,获取inode信息;根据inode信息,看该用户是否具有访问这个文件的权限;如果有,就指向相对应的数据block,并读取数据。

扩:vim cat和用户的权限有关

3、inode的大小

  • inode也会消耗硬盘空间,每个inode的大小一般是128字节或256字节
  • inode的总数,在格式化时就确定
  • 如果磁盘还有空间,但inode号被全部占用,无法创建新文件。
  • inode号在同一个文件系统内唯一,在不同的文件系统中可以重复。
  • 查看每个硬盘分区的inode总数和已经使用的数量,可以使用命令: df -I

4、inode的特殊作用

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

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

删除inode号的方法:

方法一: find 文件位置 -inum inode号码 -exec rm -rf {} \;

方法二: find 文件位置 -inum inode号码 -delete

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

(3)打开一个文件后࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值