linux文件系统与日志分析

目录

一.liunx文件系统

1.1 inode与block概述

1.2  block块:概述

1.3  inode:(索引节点)概述

1.4 inode与block的关系

二.  inode表结构

2.1 包含文件的元信息

2.2   查看inode好的方式

2.3 liunx系统文件三个重要时间属性

2.4 目录文件结构

2.5  用户访问文件的过程

 三. indoe --命令的大小

 四. inode--命令的特殊作用

 4.1  cp命令与inode

4.2 rm命令与inode

4.3 mv命令与inode

五. 软连接与硬链接

 六. 恢复误删除的xfs文件

七.日志 管理

7.1 日志的功能

7.2  日志文件分类

7.3  日志服务

7.3.1 sysklogd系统日志服务

7.3.2 rsyslog系统日志服务

7.4 用户日志分析


一.liunx文件系统

1.1 inode与block概述

  • 文件数据包括元信息与实际信息;

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

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

1.2  block块:概述

  • 连续的八个扇区组成一个block(4k);
  • 是文件存取的最小单位
  • 操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取

1.3  inode:(索引节点)概述

  • 存储文件元信息( 比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode
  • 中文译名为“索引节点”,也叫i节点;
  • 用于存储文件元信息
  • inode不包含文件名。文件名是存放在目录当中的

1.4 inode与block的关系

  

注:1. Linux 系统中一切皆文件,因此目录也是一种文件                                                                          2. 每个inode都有一个号码,操作系统用inode号码来识别不同的文件。Linux 系统内部不使              用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于                      识别的别称,文件名和inode号码是一 一对应关系, 每个inode号码对应一个文件名                    3. 当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode号码;           通过inode号码, 获取inode信息;根据inode信息,看该用户是否具有访问这个文件的权限;              如果有,就指向相对应的数据block,并读取数据

二.  inode表结构

2.1 包含文件的元信息

  • inode number 节点号

  • 文件类型

  • 权限

  • UID

  • GID

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

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

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

  • 有关文件的其他数据

2.2   查看inode好的方式

查看文件名对应的inode号码: ls -i 文件名

查看文件信息中的inode号码: stat 文件名

2.3 liunx系统文件三个重要时间属性

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

2.4 目录文件结构

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

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


2.5  用户访问文件的过程

当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode号码;通过

inode号码,获取inode信息;根据inode信息,看该用户是否具有访问这个文件的权限;如果有,就

指向相对应的数据block,并读取数据。

 硬盘分区结构:

 三. indoe --命令的大小

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

 四. inode--命令的特殊作用

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

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

删除inode号方法: 

 4.1  cp命令与inode

  • 分配一个空闲的inode号,在inode表中生成新条目

  • 在目录中创建一个目录项,将名称与inode编号关联

  • 拷贝数据生成新的文件

4.2 rm命令与inode

  • 硬链接数递减,从而释放的inode号可以被重用

  • 把数据块放在空闲列表中

  • 删除目录项

  • 数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖

4.3 mv命令与inode

      如果mv命令的目标和源在同一设备,

      不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被移动!

       删除旧的目录对应关系新建目录对应关系

五. 软连接与硬链接

硬连接 同一个文件取不同的名或者叫多个名字(比如 苏轼 字子瞻 号东坡居士 苏二 谥号文忠 不支持文件夹,创建一个连接数加一,多路径访问。

软连接 类似于windows里快捷方式,软连接,符号连接

格式:软链接 :ln [-s] 源文件或目录… 链接文件或目标位置

           硬链接: ln [ ] 源文件或目录… 链接文件或目标位置

 六. 恢复误删除的xfs文件

Centos 7系统默认采用xfs类型的文件,xfs类型的文件可使用xfsdump 与xfsrestore 工具进行备份

恢复。

xfsdump格式:xfsdump -f 备份存放位置 要备份的路径或设备文件
xfsdump的备份级别(默认为0)

0表示完全备份

1-9表示增量备份

使用 xfsdump 时,需要注意以下的几个限制:

不支持没有挂载的文件系统备份,所以只能备份已挂载的;

必须使用 root 的权限才能操作;

只能备份 XFS 文件系统;

备份下来的数据只能让 xfsrestore 解析;

不能备份两个具有相同 UUID 的文件系统(可使用blkid查看)。

实验步骤:添加硬盘

 

 在挂载目录data下复制进etc目录下的passwd也可以自己新建文件

  查看是否有xfsdump,如果没有使用yum install xfsdump -y进行安装

 指定备份目录和需要备份的磁盘

 

  模拟删除

 进行恢复

七.日志 管理

7.1 日志的功能

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

7.2  日志文件分类

       内核及系统日志:由系统服务rsyslog统一进行管理,日志格式基本相似,其主配置文件                 /etc/rsyslog.conf

       用户日志:记录系统用户登录及退出系统的相关信息

       程序日志:由各种应用程序独立管理的日志文件,记录格式不统一

7.3  日志服务

7.3.1 sysklogd系统日志服务

CentOS 5 之前版本采用的日志管理系统服务

  • syslogd: system application 记录应用日志
  • klogd: linux kernel 记录内核日志

事件记录格式

日期时间 主机 进程[pid]: 事件内容

C/S架构

通过TCP或UDP协议的服务完成日志记录传送,将分布在不同主机的日志实现集中管理

7.3.2 rsyslog系统日志服务

rsyslog是CentOS 6以后版本的系统管理服务:它提供了高性能,出色的安全性和模块化设计。尽管

rsyslog最初是常规的syslogd,但发展成为一种瑞士军刀式的记录工具,能够接受来自各种来源的输

入,并将其转换,然后输出到不同的目的地。

rsyslog 特性:

多线程

DP, TCP, SSL, TLS, RELP

MySQL, PGSQL, Oracle实现日志存储

强大的过滤器,可实现过滤记录日志信息中任意部分

自定义输出格式

适用于企业级中继

7.4 用户日志分析

保存了用户登录、退出系统等相关信息:

/var/log/lastlog:最近都用户登录事件。二进制文件,使用 lastlog 命令查看。
/var/log/secure:与用户验证有关的安全性事件。
/var/log/wtmp:用户登录、注销,及系统开、关机事件。二进制文件,使用 last 命令查看。
/var/run/utmp:当前登录的每个用户的详细信息。二进制文件,使用w、who、users等命令查看。
 

分析工具

  • users、who、w、last、lastb

users 命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。 如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数

 who命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可以查看当前系统存在

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

最近的登录情况将显示在最前面。通过 last 命令可以及时掌握 Linux 主机的登录情况,若发现未经授权的用户登录过,则表示当前主机可能已被入侵。

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

如登录的用户名错误、密码不正确等情况都 将记录在案。登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。除 了使用 lastb 命令查看以外,也可以直接从安全日志文件/var/log/secure 中获得相关信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值