目录

一、深入理解 Linux 文件系统-inode 与 block

1.inode 和 block 概述

2.inode 包含文件的元信息

3.目录文件的结构

4.inode 的号码

5.删除指定 inode 号所对应的文件

6.查看文件系统的 inode 与 block 的信息

7.格式化时指定文件系统的 inode 个数与 block 大小

8.解决 inode 耗尽导致的磁盘故障

二、深入理解 Linux 文件系统-链接

1.硬链接(hard link)

2.软链接(soft link)

3.硬链接与软链接的对比

三、分析日志文件

1.日志文件的作用

2.日志文件的分类

3.日志文件的位置

4.常见的日志文件及查看方式

5.日志消息的级别

6.日志文件分析

7.日志文件分析注意事项:

8.对于日志文件的保护


一、深入理解 Linux 文件系统-inode 与 block

1.inode 和 block 概述

文件储存在硬盘上,硬盘的最小储存单位叫“扇区”(sector),每个扇区储存 512 字节。 操作系统读取硬盘的时候,不会一个个扇区的读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个“块”(block)。这种由多个扇区组成的“块”,是文件存取 的最小单位。“块”的大小,最常见的是 4KB,即连续八个 sector 组成一个 block。文件数据存储在“块”中,那么还必须找到一个地方存储文件的元信息,比如文件的创 建者、文件的创建时间,文件的大小等等。这种储存文件元信息的区域叫做 inode,,中文 译名为“索引节点”,也叫 i 节点。一个文件必须占用一个 inode,但至少占用一个 block。

2.inode 包含文件的元信息

(1)inode 内容:

文件的字节数、拥有者的 UID、GID、文件的读写执行权限、时间戳等,但不包含文件 名。文件名是储存在目录的目录项中。

(2)查看文件的 inode 内容,stat 命令

Atime、Mtime、Ctime 详解:

英文 别称 中文翻译 何时修改 查看命令
Access Atime 访问时间 读取、写入 ls -lu
Modify Mtime 修改时间 写入、修改 ls -l
Change/Create Ctime 改变时间/创建时间 修改文件名、写入、修改、改权限、做链接 ls -lc

示例: 【读取文件,Atime 改变】

【写入内容,Mtime、Ctime 改变】

【修改权限,Ctime 改变】

创建链接,Ctime 修改

【修改文件,Ctime 修改】

【touch,三个时间全部修改】

3.目录文件的结构

  • 目录也是一种文件

  • 目录文件的结构:

文件名1 inode号码1
文件名2 inode号码2

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

4.inode 的号码

(1)系统内部打开文件的步骤:

系统找到这个文件名对应的 inode 号码

通过 inode 号码,获取 inode 信息

根据 inode 信息,找到文件数据所在的 block,读出数据

(2)查看文件的 inode 号码

ls -i 文件名
stat 文件名

示例:

文件存储位置对照

当一个用户在 Linux 系统中试图访问一个文件时,系统会先根据文件名去查找它的 inode,看该用户是否具有访问这个文件的权限。如果有,就指向相对应的数据 block; 如果没有过,就返回 Permission denied(拒绝访问)

5.删除指定 inode 号所对应的文件

格式:

find ./ -inum inode 号 -exec rm -i {} \;

示例:

当文件名中包含特殊符号时我们可以删除其 inode 号达到删除文件的目的

6.查看文件系统的 inode 与 block 的信息

df -i 设备名(文件系统已挂载时查询,查询 inode 总数与已用数量)
dumpe2fs -h 设备名(文件系统无需挂载)
tune2fs -l 设备名(文件系统无需挂载)

示例:

7.格式化时指定文件系统的 inode 个数与 block 大小

格式:

mkfs.ext4 -N inode 数 -b 块大小(单位字节) 设备名

示例:

inode 数设定为 10000 个,block 大小为 1KB

8.解决 inode 耗尽导致的磁盘故障

方法:

删除不使用的文件
将文件备份,重新格式化此文件系统,指定较多的 inode 个数

示例:

将文件备份,重新格式化此文件系统,指定较多的 inode 个数

二、深入理解 Linux 文件系统-链接

1.硬链接(hard link)

格式:
ln 源文件 目标文件

特点:
硬链接指向 inode,新生成的硬链接文件的 inode 号与源文件的 inode 号相同,不可针 对目录进行硬链接,必须在同一文件系统内。删除一个文件名,不影响另外一个的访问。

示例:【删除源文件,硬链接不受影响】

2.软链接(soft link)

方法:
ln -s 源文件或目录 目标文件或目录

特点:
软链接指向文件名,新生成的软链接文件的 inode 号与源文件不同,目录也可以生成软 链接,软链接文件与源文件可以不在同一文件系统内,软链接文件的内容是源文件的路径, 读取时系统会自动导向源文件,但当源文件移动或重命名时,软链接将报错。

示例:

【重命名源文件,硬链接不受硬性,但软链接失效】

3.硬链接与软链接的对比

硬链接 软链接
inode 号是否相同 相同 不同
是否可以针对目录 不可针对目录 可以针对目录
可否跨文件系统 不可跨文件系统 可跨文件系统
删除、重命名、移动源文件 不受影响 失效
创建命令 ln 源文件 目标文件 ln -s 源文件或目录 目标文件或目录

三、分析日志文件

1.日志文件的作用

  • 日志文件是用于记录 Linux 系统中各种运行信息的文件,相当于 Linux 主机的“日记”。

  • 不同的日志文件记载了不同类型的信息,如 Linux 内核消息、用户登录事件、程序错误等。

  • 日志文件对于诊断和解决系统中的问题很有帮助,因为在 Linux 系统中运行的程序通常 会把系统消息和错消息写入相应的日志文件,这样系统一旦出现问题就会“有据可查”。

  • 此外,当主机遭受攻击时,日志文件还可以帮助寻找攻击者留下的痕迹。

2.日志文件的分类

(1)内核及系统日志:

在 6 以上的系统版本中,这种日志数据由系统服务 rsyslog 同一管理,根据其主配置文 件/etc/rsyslog.conf 中的设置决定将内核消息及各种系统程序消息记录到什么位置。

/etc/rsyslog.conf 配置文件中,常见的配置格式及其含义:
“.”:比后面等级要高(包含该等级)的都记录。例如:“*.info”
“.=”:只记录该等级。例如:“.=debug” “!”:除了该等级都记录。例如:“!info”
“-”:当有记录信息需要记录时,先存到缓存中,到一定大小时一次性写入,以减 少对磁盘读写性能的占用。例如:“-/var/log/maillog”

(2)用户日志:

用于记录 Linux 系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录 时间、来源主机、正在使用的进程操作等。

(3)程序日志:

有些应用程序会选择由自己独立管理一份日志文件,而不是交给 rsyslog 服务管理,用 于记录本程序运行过程中的各种事件信息。

3.日志文件的位置

Linux 系统本身和大部分服务器程序的日志文件默认放在/var/log/下。一部分程序共用一个日志文件,一部分程序使用单个日志文件。而有些大型服务器程序日志由于日志文件不止一个,所以会在/var/log/目录中建立相应的子目录来存放日志文件,这样既保证了日志文 件目录的结构清晰,又可以快速定位日志文件。 有相当一部分日志只有 root 用户才有权限读取,这保证了相关日志信息的安全性。

4.常见的日志文件及查看方式

日志文件 存放内容 查看命令
/var/log/messages 内核消息及各种应用程序的公共日志信息,包 括启动、I/O 错误、网络错误、程序故障等 cat 等
/var/log/cron crond 周期性计划任务产生的时间信息 cat 等
/var/log/dmesg 引导过程中的各种时间信息 cat 等
/var/log/maillog 进入或发出系统的电子邮件活动 cat 等
/var/log/lastlog 每个用户最近的登录事件 last、lastlog
/var/log/secure 用户认证相关的安全时间信息 cat 等
/var/log/wtmp 每个用户登录、注销及系统启动和停机事件 users、who、w
/var/log/btmp 失败的、错误的登录尝试及验证事件 lastb

5.日志消息的级别

在 Linux 内核中,根据日志消息的重要程度不同,将其分为不同的有限级别(数字等级越小,优先级越高,消息越重要)

级别 英文表示及翻译 意义
0 EMERG(紧急) 会导致主机系统不可用的情况
1 ALERT(警告) 必须马上采取措施解决的问题
2 CRIT(严重) 比较严重的情况
3 ERR(错误) 运行出现错误
4 WARNING(提醒) 可能影响系统功能,需要提醒用户的重要事件
5 NOTICE(注意) 不会影响正常功能,但是需要注意的事件
6 INFO(信息) 一般信息
7 DEBUG(调试) 程序或系统调试信息等
8 none(没有) 不做记录

6.日志文件分析

(1)内核及大多数系统消息
存放位置:
/var/log/message

内容解释:
时间标签:消息发出的日期和时间
主机名:生成消息的计算机的名称
子系统名称:发出消息的应用程序的名称
消息:消息的具体内容

示例:

(2)用户日志

存放位置:
/var/log/wtmp、/var/log/btmp、/var/log/lastlog

查询命令:
users、who、w、last、lastlog、lastb 等
users 命令:只是简单的输出当前登录的用户名,每一个显示的用户名对应一个会话。
who 命令:用于报告当前登录到系统中的每个用户的信息。默认输出包括用户名、终端类型、登录日期及远程主机
w 命令:用于显示当前操作系统中的每个用户及其远程所运行的进程信息

last 命令:用于查询成功登录到系统的用户记录,最近的登录情况在最前面。-a:把从何处登录系统的主机名称或 IP 地址,显示在最后一行
-d:将 IP 地址转换成主机名称
-f [记录文件]:指定记录文件
-R:不显示登入系统的主机名称或 IP 地址 -x:显示系统关闭,重新开机,以及执行等级的改变等
-n:n 代表数字,表示最近 n 次登录的记录

  • lastlog 命令:用于显示系统中所有用户最近一次登录信息

  • lastb 命令:用于显示用户错误的登录列表,此指令可以发现系统的登录异常

(3)程序日志

存放位置:
不固定,一般在/var/log/下的子目录中

示例:
查看通过源码包安装的 apache 网站服务的日志

7.日志文件分析注意事项:

总的来说,作为一名合格的系统管理人员,应该提高警惕,随时注意各种可疑的状况, 定期并随机的检查各种系统日志文件,包括一般信息日志、网络连接日志、文件传输日志及 用户登录日志记录等。在检查这些日志时,要注意是否有不合常理的时间或操作记录。例如 出现以下一些现象就应该多加注意:

  • 用户在非常规的时间登录,或者用户登录系统的 IP 地址和以往不一样的
  • 用户登录失败的日志记录,尤其是那些一再连续尝试进入失败的日志记录
  • 非法使用或不正当使用超级用户权限
  • 无故或者非法重新启动各项网络服务的记录
  • 不正常的日志记录,如日志残缺不全,或者是诸如 wtmp 这样的日志文件无故缺少了中间的记录文件

8.对于日志文件的保护

chattr +a 日志文件,a 选项为 append(追加)only,即给日志文件加上 a 权限后,将只 可以追加,不可以删除和修改之前的内容。

root 用户在 vi 编辑器的命令模式按 dd 删除了两行内容后进行 wq!强制保存退出,报错:

chattr +a -R 递归式增加 a 权限:

Linux-系统管理14-文件系统与日志相关推荐

  1. Linux——(渗透理解)文件系统与日志分析

    文件系统与日志分析超简单 一.Linux系统中的 inode 与 block 1.1 inode 和 block 1.2 查找文件对应的inode(内容) 1.3 inode的大小 inode总结 二 ...

  2. Linux/Centos7系统管理之深入理解Linux文件系统与日志分析

    前言:inode(文件节点)与block(数据块)硬链接与软连接恢复误删除的文件 (即rm-rf 的操作,可以先进行备份的操作,然后可以进行恢复ext4和xfs文件系统皆可)日志文件的分类用户日志与程 ...

  3. Linux主分区文件系统,Linux_Linux磁盘和文件系统管理,1、 分区MBR(Master Boot Recor - phpStudy...

    Linux磁盘和文件系统管理 1. 分区 MBR(Master Boot Recorder)主引导分区仅提供最多4个分区,主分区(Primary,P)与扩展分区(Extended,E),如3P+1E, ...

  4. Linux文件系统与日志分析 ------ inode、block及日志

    文件系统与日志分析 inode 与 block 介绍 inode的内容 inode 的号码 inode 的大小 inode的特殊作用 硬链接与软链接 软链接 硬链接 日志分析 日志的功能 日志文件的分 ...

  5. linux文件系统和日志分析!

    linux文件系统和日志分析 一.inode和block block(块) inode(索引节点) inode的元信息 简述文件的读取过程 inode的特殊作用 stat命令 二.硬链接与软链接 硬链 ...

  6. Linux 操作系统原理 — 日志结构的文件系统与日志文件系统

    目录 文章目录 目录 日志结构的文件系统 日志文件系统 日志结构的文件系统 技术的改变会给当前的文件系统带来压力.这种情况下,CPU 会变得越来越快,磁盘会变得越来越大并且越来越便宜(但不会越来越快) ...

  7. Linux大作业任务书,《Linux系统管理》期末大作业任务书(计网14级).doc

    <Linux系统管理>期末大作业任务书(计网14级) 软件学院大作业任务书 课程名称: Linux系统管理 题 目: Linux系统管理期末大作业 专 业: 班 级: 学 号: 学生姓名: ...

  8. 【AWSL】之Linux文件系统与日志分析(inode、恢复EXT类型的文件、恢复XFS类型的文件)

    序言 这里我主要介绍Linux文件系统与日志分析 文件系统与日志分析 序言 一.inode与block 1. 概述 ①inode的内容 ②inode号码 ③文件存储 ④inode的大小 ⑤inode的 ...

  9. Linux文件系统与日志分析(inode、inode节点耗尽故障处理、文件备份和恢复、日志文件管理)

    Linux文件系统与日志分析 一.inode和block概述 1.文件和扇区 2.块(block) 3.文件数据 二.inode(索引节点) 1.inode的内容 2.inode的号码 3.inode ...

  10. Linux文件系统与日志

    lsof查看系统里所有进程的文件打开数 ulimts -n Linux文件系统与日志 [root@wangna ~]# ls -lhi total 28K inode号 文件及文件夹权限 硬链接数 属 ...

最新文章

  1. day16 递归函数
  2. VS2010与.NET4系列 5.代码优化的Web开发轮廓
  3. android短信照片换ios9,iOS9不越狱恢复短信和照片方法说明
  4. 《因果学习周刊》第7期:因果学习中的离线策略评估
  5. Verilog初级教程(14)Verilog中的赋值语句
  6. 支付接口教程,详解支付宝接口(二)
  7. 一次 Nacos 的踩坑记录!
  8. 列出这周开发工作时间及内容,可以发表各种感想和这周阅读内容。
  9. 【Linux】27.Markdown的用法
  10. 避免頁面重復提交3/15
  11. Linux仿真运算集群,fluent DPM Linux计算集群运行报错 - 计算模拟 - 小木虫 - 学术 科研 互动社区...
  12. 拼多多:不搞套路,要实现同品全网最低价直售
  13. .NET连接SAP系统专题:C#如何导入内文至SAP(十一)
  14. windows anaconda 虚拟环境 与 系统变量冲突 pyinstaller 打包软件过大
  15. 给自动化专业的大学生的终极警钟,单片机、PLC、嵌入式等方向哪个才是香饽饽?
  16. ERR_FILE_NOT_FOUND错误
  17. Mac电脑 如何在任意目录快速打开终端并定位到当前目录
  18. CUDA编程1--GPU内存模型
  19. 苹果电子邮件怎么注册_无需购买 iPhone,可以使用哪些苹果的优质服务?
  20. 相机成像时间与曝光时间的关系

热门文章

  1. Eclipse中代码自动对齐
  2. 另一个.lua文件中的全局变量可以被其它.lua文件读取
  3. 如何写一封彬彬有礼的英文email给国外学者
  4. docker官方镜像修改为国内镜像
  5. _001_UML_UML中的六大关系
  6. VUE element-ui之table表格横向展示(表尾汇总)
  7. Adblock去广告
  8. Camouflaged Object Detection
  9. 怎么让将英文设置为单词首字母大写
  10. 爱奇艺号微前端架构实践