目录
1.4 验证,并查看本机日志记录(实时查看 tail -f /var/log/secure)
一、文件系统
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指向对应的实际数据
- 用户访问文件时先去查找自己文件夹中的目录项;
- 文件名和inode之间对应的关系;
- 通过 inode号利用指针去指向实际数据直接指针,间接指针
扩:
如果把文件删除并没有做其他设置,此时真实数据并没有真的删除,删除的是inode号。
我的空间足够为什么不能继续键文件?因为inode号用完了
解决方法:1、如果是lvm逻辑卷,可以扩容 2、此时需要删除没有用的文件。
2.5 用户通过文件名打开文件时,系统内部的过程
- 系统找到这个文件名对应的inode号码
- 通过inode号码,获取inode信息
- 根据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)打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名
(4)文件数据被修改保存后,会生成一个新的inode 号码
cp命令与inode:
- 分配一个空闲的inode号
- 在inode表中生成新条目在目录中创建一个目录项
- 将名称与inode编号关联拷贝数据生成新的文件
rm命令:
- 硬链接数递减,从而释放的inode号可以被重用
- 把数据块放在空闲列表中
- 删除目录项
- 数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖
rm命令与inode
- 链接数递减,从而释放的inode号可以被重用把数据块放在空闲列表中
- 删除目录项
- 数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖
5、软链接与硬链接
- 硬链接 同一个文件取不同的名或者叫多个名字,不支持文件夹,创建一个链接数加一,多路径访问。不占用内存
- 软链接 类似于windows里快捷方式,软连接,符号连接,会指向原来的文件ln(link)。

5.1软链接
格式:ln [-s] 源文件或目录… 链接文件或目标位置
删除源文件无法访问,再新建同名文件后依然可以访问,可以跨设备,可以支持文件夹
软链接特点:
- 源文件一定要存在,源文件被删除,链接文件无法使用
- 源文件内容修改,链接文件也修改
- 链接文件的大小 是源文件路径的长度
实例:
- ln -s /data/passwd /opt/soft
- ln 命令做链接文件的命令
- -s代表软链接,不写代表硬链接
- /data/passwd 源文件的路径 注意一定要用绝对路径
- /opt/soft 把链接文件放到opt目录并且取名soft如果不取名 和源文件同名

5.2硬链接
格式:ln 源文件或目录… 链接文件或目标位置
多了一种方式去找文件 indoe号,不能跨分区建立连接 无法对文件夹创建
1.真实数据 2.元数据(indoe号,权限,大小等)
实例:

二、日志
1、日志的功能
- 用于记录系统、程序运行中发生的各种事件
- 通过阅读日志,有助于诊断和解决系统故障
2、日志文件的分类
- 内核及系统日志:由系统服务rsyslog统一进行管理,日志格式基本相似,其主配置文件 /etc/rsyslog.conf
- 用户日志:记录系统用户登录及退出系统的相关信息
- 程序日志:由各种应用程序独立管理的日志文件,记录格式不统一
3、系统日志介绍
3.1 sysklogd 系统日志服务
CentOS 5 之前版本采用的日志管理系统服务
- syslogd: system application 记录应用日志
- klogd: linux kernel 记录内核日志
事件记录格式:
- 日期时间 主机 进程[pid]: 事件内容
- C/S架构:通过TCP或UDP协议的服务完成日志记录传送,将分布在不同主机的日志实现集中管理
3.2 rsyslog 系统日志服务
rsyslog是CentOS 6以后版本的系统管理服务:它提供了高性能,出色的安全性和模块化设计。
rsyslog特性
- 多线程
- UDP, TCP, SSL, TLS, RELP
- MySQL, PGSQL, Oracle实现日志存储
- 强大的过滤器,可实现过滤记录日志信息中任意部分
- 自定义输出格式
- 适用于企业级中继
用rpm -qi rsyslog可以看rsyslog的详细信息

用rpm -ql rsyslog可以看rsyslog的文件列表

3.3 ELK
ELK:由Elasticsearch, Logstash, Kibana三个软件组成
- 非关系型分布式数据库基于apache软件基金会jakarta项目组的项目lucene
- Elasticsearch是个开源分布式搜索引擎,可以处理大规模日志数据,比如:Nginx、Tomcat、系统日志等功能
- Logstash对日志进行收集、分析,过滤,并将其存储供以后使用
- Kibana 可以提供的日志分析友好的 Web 界面
4、rsyslog 管理
4.1 日志消息的级别
| 级号 | 消息 | 级别 | 说明 |
|---|---|---|---|
| 0 | EMERG | 紧急 | 会导致主机系统不可用的情况 |
| 1 | ALERT | 警告 | 必须马上采取措施解决的问题 |
| 2 | CRIT | 严重 | 比较严重的情况 |
| 3 | ERR | 错误 | 运行出现错误 |
| 4 | WARNING | 提醒 | 可能会影响系统功能的事件 |
| 5 | NOTICE | 注意 | 不会影响系统但值得注意 |
| 6 | INFO | 信息 | 一般信息 |
| 7 | DEBUG | 调试 | 程序或系统调试信息等 |
服务软件:
- 软件由它的配置文件所决定
- 决定它的服务方式、网络地址、个性化功能等
- 是yum 或rpm安装配置文件一般放在etc下
- 查看软件的配置文件位置,用rpm -qc 软件名 去查看,一般以 .conf结尾的是配置文件
- 在改配置文件前一定要先备份

4.2 服务名称
| 服务名称 | 说明 |
|---|---|
| auth(LOG_AUTH) | 安全和认证相关消息 (不推荐使用authpriv替代) |
| authpriv(LOG_AUTHPRIV) | 安全和认证相关消息(私有的) |
| cron (LOG_CRON) | 系统定时任务cront和at产生的日志 |
| daemon (LOG_DAEMON) | 与各个守护进程相关的曰志 |
| ftp (LOG_FTP) | ftp守护进程产生的曰志 |
| kern(LOG_KERN) | 内核产生的曰志(不是用户进程产生的) |
| Iocal0-local7 (LOG_LOCAL 0-7) | 为本地使用预留的服务 |
| lpr (LOG_LPR) | 打印产生的日志 |
| mail (LOG_MAIL) | 邮件收发信息 |
| news (LOG_NEWS) | 与新闻服务器相关的日志 |
| syslog (LOG_SYSLOG) | 存syslogd服务产生的曰志信息(虽然服务名称己经改为reyslogd,但是很多配罝依然沿用了syslogd服务的,所以这里并没有修改服务名称) |
| user (LOG_USER) | 用户等级类别的日志信息 |
| uucp (LOG_UUCP) | uucp子系统的日志信息,uucp是早期Linux系统进行数据传递的协议,后来也常用在新闻组服务中 |
4.3 rsyslog配置文件
/etc/rsyslog.conf 配置文件格式:由三部分组成
-
MODULES:相关模块配置
-
GLOBAL DIRECTIVES:全局配置
-
RULES:日志记录相关的规则配置

5、主要日志文件介绍(不是绝对的)
| 日志文件介绍 | 日志文件位置 |
|---|---|
| 内核及公共消息日志 | /var/log/messages |
| 计划任务日志 | /var/log/cron |
| 系统引导日志 | /var/log/dmesg |
| 邮件系统日志 | /var/log/maillog |
| 用户登录日志 | /var/log/lastlog /var/log/secure /var/log/wtmp /var/run/btmp |
6、查询用户登录的历史记录
6.1 last 命令用于查询成功登录到系统的用户记录
最近的登录情况将显示在最前面。通过 last 命令可以及时掌握 Linux 主机的登录情况,若发现未经授权的用户登录过,则表示当前 主机可能已被入侵。

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

7、journalctl 日志管理工具
格式:journalctl [OPTIONS...] [MATCHES...]
日志的配置文件:/etc/systemd/journald.conf
四、实际操作
1、将ssh服务日志单独存放
ssh远程连接协议:(1)压缩功能,传输快 (2)密文传输
客户端(物理机)通过xshell软件连接到服务器(7-1)
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的日志记录

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

3169

被折叠的 条评论
为什么被折叠?



