linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

一、inode与block

1、概论

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

1.1文件数据包括元信息(类似文件属性)与实际数据
? 文件数据存储在“块”中
? 存储文件元信息( 比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode
? 一个文件必须占用一个inode, 并且至少占用一个block
 
1.2 文件存储在硬盘上,硬盘最小存储单位是“扇区”(sector),每个扇区存储512字节
1.3 block(块)
? 连续的八个扇区组成一个block,一个块大小为4k
? 是文件存取的最小单位
? 操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取
 
1.4 inode(索引节点)
? 中文译名为“索引节点”,也叫 i节点
? 用于存储文件元信息
? inode不包含文件名。文件名是存放在目录当中的
 
Linux 系统中一切皆文件,因此目录也是一种文件
每个inode都有一个号码,操作系统用inode号码来识别不同的文件。Linux 系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称,文件名和inode号码是一 一对应关系, 每个inode号码对应一个文件名
当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode号码;通过inode号码, 获取inode信息;根据inode信息,看该用户是否具有访问这个文件的权限; 如果有,就指向相对应的数据block,并读取数 据
 
注:一个文件必须占用一个inode,但至少也占用一个block
 

二.inode的内容

① inode包含文件的元信息
? 文件的字节数
? 文件拥有者的User ID
? 文件的Group ID
? 文件的读、写、执行权限
? 文件的时间戳
注:不包含文件名
 
② 查看某个文件的inode信息
stat aa.txt
③ Linux系统文件三个主要的时间属性
ctime(change time)
◆最后一次改变文件或目录(属性)的时间
atime(access time)
◆最后一次访问文件或目录的时间
mtime(modify time)
◆最后一次修改文件或目录(内容)的时间
linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

 linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

④ 目录文件的结构

? 目录也是一种文件
? 目录文件的结构

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

 

 

⑤ 每个inode都有一个号码,操作系统用inode号码来识别不同的文件
⑥ Linux系统内部不使用文件名,而使用inode号码来识别文件
⑦ 对于用户,文件名只是inode号码便于识别的别称
 

三.inode的号码

① 用户通过文件名打开文件时,系统内部的过程
1. 系统找到这个文件名对应的inode号码
2. 通过inode号码, 获取inode信息
3. 根据inode信息,找到文件数据所在的block,读出数据
硬盘分区后的结构
linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

访问文件的简单流程
linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

② 查看inode号码的方法

ls -i (查看文件名对应的inode号码)文件名
stat(查看文件inode信息中的inode号码)文件名

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!
 

四.inode的大小

① inode也会消耗硬盘空间
? 每个inode的大小
? 一般是128字节或256字节
② 格式化文件系统时确定inode的总数
③ 查看每个硬盘分区的inode总数和已经使用的数量
df -i
 inode也会消耗硬盘空间,所以格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode 区,存放inode 所包含的信息。每个inode 的大小,一般是128字节或256字节
 通常情况下不需要关注单个inode的大小,而是需要重点关注inode 总数。inode 的总数在格式化时就给定了,执行"df-i"命令即可查看每个硬盘分区对应的的inode总数和已经使用的inode数量
linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!
由于inode 号码与文件名分离,导致Linux系统具备以下几种特有的现象:
1.文件名包含特殊字符,可能无法正常删除。这时直接删除inode,能够起到删除文件的作用
2.移动文件或重命名文件,只是改变文件名,不影响inode 号码
3.打开一个文件以后,系统就以inode. 号码来识别这个文件,不再考虑文件名
4.文件数据被修改保存后,会生成一个新的inode 号码
find ./ -inum 52305140 -exec rm -i {} \ ;
find ./ -inum 50464299 -delete
find ./ -inum (inode) | xargs rm -rf

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

 

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

 linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

五.链接文件

① 为文件或目录建立链接文件

② 链接文件分类

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

标记文本

In 源文件 目标位置
软链接
In 【-s】源文件或目录…链接文件或目标位置

六、inode节点耗尽故障处理
1、进行分区 大小为30m
linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

2、格式化成ext4格式

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

3、进行挂载

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

挂载完之后,opt本身就有一个文件,占用1个inode号,现在已用11,后面删除后10,就是因为这个文件

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

4、模拟故障

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

5、查看inode号和占用空间大小情况

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

6、恢复方式:删除无用文件,以恢复节点数

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

 

 

七、EXT文件误删除处理办法

1、导入extundelete软件包
  •  extundelete 是一个开源的 Linux 数据恢复工具,支持 ext3、ext4 文件系统(ext4只能在CentOS6版本恢复)

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

 linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

 linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版! 

2、安装环境依赖包

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

3、安装extundelete软件

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

 linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

4、挂载目录内创建文件,并赋予内容,然后查看inode号

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

 linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

5、删除刚刚创建的文件,并解挂载,用来模拟故障

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

 linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

6、进行恢复操作

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

 

八、xfs类型文件备份和恢复

1、xfs类型文件备份和恢复

CentOS 7 系统默认采用 xfs类型的文件,xfs 类型的文件 可使用 xfsdump 与 xfsrestore 工具进行备份恢复。
xfsdump的备份级别有两种
  • 0表示完全备份(默认为0)
  • 1-9表示增量备份

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

2、故障模拟

①、新建分区

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

②、格式化分区,并挂载,复制实验内容到挂载目录,创建目录和子文件

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

③、安装xfsdump软件

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

④、备份整个分区

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

 linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

⑤、模拟故障,并进行恢复

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

 

 

九.日志文件

① 日志的功能
? 用于记录系统、程序运行中发生的各种事件
? 通过阅读日志,有助于诊断和解决系统故障
② 日志文件的分类
内核及系统日志
◆由系统服务rsyslog统一进行管理 ,日志格式基本相似
◆主配置文件/etc/rsyslog.conf
用户日志.
◆记录系统用户登录及退出系统的相关信息
程序日志
◆由各种应用程序独立管理的日志文件,记录格式不统一
(由开发人员定义)
③ 日志保存位置
默认位于: /var/log目录下
④ 主要日志文件介绍
内核及公共消息日志
/var/log/messages
记录Linux内核消息及各种应用程序的公共日志信息,包括启动、Io错误、网络错误、程序故障等
对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息
计划任务日志
/var/log/cron
记录crond计划任务产生的事件信息
系统引导日志
/var/log/dmesg
记录Linux系统在引导过程中的各种事件信息
邮件系统日志
/var/log/maillog
记录进入或发出系统的电子邮件活动
用户登录日志
/var /log/lastlog
记录每个用户最近的登录事件,二进制格式
/var/log/secure
记录用户认证相关的安全事件信息
/var/log/wtmp
记录每个用户登录、注销及系统启动和停机事件,二进制格式
/var/run/btmp
记录失败的、错误的登录尝试及验证事件,二进制格式
 
vim /etc/rsyslog.conf
#查看rsyslog.conf配置文件
*.info;mail.none; authpriv.none; cron.none
/var/ log/messages
*.info
#表示info等级及以上的所有等级的信息都写到对应的日志文件里
mail.none
#表示某事件的信息不写到日志文件里(这里比如是邮件)

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

 

十.内核及系统日志

内核及系统日志由系统服务rsyslog 统一管理,主配置文件为/etc/rsyslog.conf
Linux操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/下
① 日志的级别
linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

注:数字等级越小,优先级越高,消息越重要

② 日志记录的一般格式
linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!
时间标签: 消息发出的日期和时间
主机名: 生成消息的计算机的名称
子系统名称: 发出消息的应用程序的名称 
消息: 消息的具体内容
 

十一.用户日志分析

① 保存了用户登录、退出系统等相关信息
? /varlog/lastlog:最近的用户登录事件
? /var/log/wtmp:用户登录、注销及系统开、关机事件
? /var/run/utmp:当前登录的每个用户的详细信息
? /var/log/secure:与用户验证相关的安全性事件
 
② 分析工具
? users、who、W、last、 lastb
? last命令用于查询成功登录到系统的用户记录
? lastb命令用于查询登录失败的用户记录
linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

 

十二.程序日志分析

由相应的应用程序独立进行管理
Web服务: /var/log/httpd/
◆access_ log
//记录客户访问事件
◆error_ log
//记录错误事件
代理服务: Ivar/log/squid/
◆access.log、cache.log
 
分析工具
文本查看、grep过滤检索、Webmin管理套件中查看
awk、sed等文本过滤、格式化编辑工具
Webalizer、Awstats等专用日志分析工具
 

十三.日志管理策略

① 及时作好备份和归档
② 延长日志保存期限
③ 控制日志访问权限
? 日志中可能会包含各类敏感信息,如账户、口令等
 
④ 集中管理日志
? 将服务器的日志文件发到统一的日志文件服务器
? 便于日志信息的统- -收集、整理和分析
? 杜绝日志信息的意外丢失、恶意篡改或删除
 
总结:
1.block与inode
2.硬链接与软链接
3.恢复误删除的文件
4.Linux主要包含的日志文件
5.Linux系统的日志消息级别
6.Linux系统中用户日志的查询命令
(who、W、users、 last、 lastb)

 

 
 
 
 
 
 
 
 
 

linux文件系统与日志文件,超细版,看完还不说so easy,请找更细版!

上一篇:CentOS 8 关闭 Firewalld 及 SELinux


下一篇:【2021.06.27】Analyzing Integrity Protection in the SELinux Example Policy