目录
1 inode 表结构
每个文件的属性信息,比如:文件的大小,时间,类型,权限等,称为文件的元数据(meta data 元信息 )
元数据是存放在inode(index node)表中。inode 表中有很多条记录组成,第一条记录对应的存放了一个
文件的元数据信息。
每一个inode表记录对应的保存了以下信息:
-
node number 节点号
-
文件类型
-
权限
-
UID
-
GID
-
链接数(指向这个文件名路径名称个数)
-
该文件的大小和不同的时间戳
-
指向磁盘上文件的数据块指针
-
有关文件的其他数据
1.1 如何查看inode号
ls -i # 查看文件名对应的inode号码
stat 命令 #查看文件的inode信息
1.2 Linux系统文件三个主要的时间属性
最近访问atime:最后一次查看文件
最近更改mtime:最近更改文件内容的时间,注意:更改完内容之后,ctime也会改变
最近改动ctime:最近更改文件元信息的时间,比如改变权限等
2 xfs类型备份和恢复
CentOS 7 系统默认采用 xfs 类型的文件。针对 xfs 文件系统目前也没有比较成熟的文件恢复工具,所以建议提前做好数 据备份,以避免数据丢失。
xfs 类型的文件可使用 xfsdump 与 xfsrestore 工具进行备份恢复。
若系统中未安装 xfsdump与xfsrestore工具,可
以通过yum install -y xfsdump命令安装
xfsdump 按照inode 顺序备份一个 xfs 文件系统。
xfsdump 的备份级别有两种:
-
0 表示完全备份
-
1-9 表示增量 备份
xfsdump 的命令格式为:
xfsdump -f 备份存放位置 要备份路径或设备文件
常用的备份参数包括以下几种:
-f | 指定备份文件目录 |
-L | 指定标签 session label |
-M | 指定设备标签 media label |
-s | 备份单个文件,-s 后面不能直接跟路径 |
使用 xfsdump 时,需要注意以下的几个限制:
-
不支持没有挂载的文件系统备份,所以只能备份已挂载的;
-
必须使用 root 的权限才能操作;
-
只能备份 XFS 文件系统;
-
备份下来的数据只能让 xfsrestore 解析;
-
不能备份两个具有相同 UUID 的文件系统(可使用blkid查看)
2.1 操作过程
2.11 新建分区
2.12 格式化分区为xfs
2.13 挂载分区
新建/data
将/etc/passwd 复制到 /data
sdb1 挂载到 /data
2.14 安装xfsdump
如果未安装 ,请进行安装
yum install xfsdump.x86_64 -y # 用yum安装xfsdump
2.15 数据备份
使用dump 进行数据备份
2.16 删除原数据模拟数据还原
将/data 文件夹中的 passwd 删除
2.17 数据恢复
将备份数据恢复
数据恢复成功
3 日志
内核及系统日志由系统服务 rsyslog 统一管理,根据其主配置文件 /etc/rsyslog.conf
Linux 操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/下
3.1 常见的一些日志文件
日志文件位置 | 日志文件说明 |
---|---|
/var/log/messages内核和公共日志 | 它是核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。I/O 错误、网络错误和其他系统错误都会记录到此文件中。其他信息,比如某个人的身份切换为 root,已及用户自定义安装软件的日志,也会在这里列出。 |
/var/log/cron 计划任务日志 | 记录与系统定时任务相关的曰志 |
/var/log/dmesg 系统引导日志 | 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息 |
/var/log/maillog 邮件日志 | 记录邮件信息的曰志 |
用户日志 | |
/var/log/lastlog | 记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看 |
/var/log/secure | 记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中 |
/var/log/wtmp | 永久记录所有用户的登陆、注销信息,同时记录系统的启动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看 |
/var/tun/ulmp | 记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看 |
3.2 内核和公共日志
日志的配置文件 位置在 /etc/rsyslog.conf
3.3 信息的优先级别重要程度
在 Linux 内核中,根据日志消息的重要程度不同,将其分为不同 的优先级别(数字等级越小,优先级越高,消息越重要)
0 EMERG(紧急) | 会导致主机系统不可用的情况 |
1 ALERT(警告) | 必须马上采取措施解决的问题 |
2 CRIT(严重) | 比较严重的情况 |
3 ERR (错误) | 运行出现错误 |
4 WARNING(提醒) | 可能影响系统功能,需要提醒用户的重要事件 |
5 NOTICE(注意) | 不会影响正常功能,但是需要注意的事件 |
6 INFO(信息) | 一般信息 |
7 DEBUG(调试) | 程序或系统调试信息等 |
3.4 rsyslog 服务统
对于 rsyslog 服务统一管理的大部分日志文件,使用的日志记录格式基本上是相同的。
以公共日志/var/log/messages 文件的记录格式为例,其中每一行表示一条日志消息,每
一条消息均包括以下四个字段。
-
时间标签:消息发出的日期和时间。
-
主机名:生成消息的计算机的名称。
-
子系统名称:发出消息的应用程序的名称。
-
消息:消息的具体内容。
3.5 用户日志
在 wtmp、btmp、lastlog 等日志文件中,保存了系统用户登录、退出等相关的事件消息。
但是这些文件都是二进制的数据文件,不能直接使用 tail、less 等文本查看工具进行浏览,
需要使用 who、w、users、last 和 lastb 等用户查询命令来获取日志信息
3.51 users (查询当前登录的用户情况)
users 命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。 如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数
3.52 who
who命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可
以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。who 的默认输出包括用
户名、终端类型、登录日期及远程主机
3.53 w
w 命令用于显示当前系统中的每个用户及其所运行的进程信息,比 users、who 命令的 输出内容要丰富一些
3.6 查询用户登录的历史记录
3.61 last
last 命令用于查询成功登录到系统的用户记录,
最近的登录情况将显示在最前面。通过 last 命令可以及时掌握 Linux 主机的登录情况,若发现未经授权的用户登录过,则表示当前 主机可能已被入侵
3.62 lastb
lastb 命令用于查询登录失败的用户记录
如登录的用户名错误、密码不正确等情况都 将记录在案。登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。除 了使用 lastb 命令查看以外,也可以直接从安全日志文件/var/log/secure 中获得相关信息。
将日志文件全部放在日志文件服务器上
#编辑文件取消第19 20 行注释允许服务器使用TCP 514端口接收日志
重启rsyslog 日志服务
客户端配置
重启rsyslog 日志服务
测试