Linux文件系统与日志分析
目录
4、验证,并查看本机日志记录(tail -f /var/log/secure)
一、Linux文件系统
1、inode与block
文件数据包括元信息与实际信息,文件存储在硬盘上,硬盘最小的存储单位是扇区,每个扇区存储512个字节。
①block:块。连续的八个扇区组成一个block,大小为4k。(是文件存储的最小的单位)
②inode:索引节点,用于存储元信息,在同一个硬件设备上是唯一的,是可以被用完的,用完后无法创建任何文件。
③block和inode的关系:一个文件必须占用一个inode号,但是至少占用一个block。
2、查看inode号码的命令
1. 查看文件名对应的inode号码
ls -i 文件名
2. 查看文件inode信息中的inode号码
stat 文件名
3、inode包含文件的元信息
- 文件的字节数(字节占用多少空间,也称文件大小)
- 文件拥有者的 User ID
- 文件的 Group ID
- 文件的读、写、执行权限
- 文件的时间戳(ctime、atime、mtime)
- 文件类型
- 链接数
- 有关文件的其他数据
- 不包含文件名,文件名在目录结构中
4、Linux系统文件的三个主要时间属性
①ctime:最后一次改变问价或目录的时间
②atime:最后依次访问文件或目录的时间
③mtime:最后一次修改文件或目录(内容)
5、用户通过文件名打开文件时系统内部过程
①系统找到与这个文件名对应的inode号码
②通过inode号码,获取inode信息
③根据inode信息,找到文件数据所在的block,读出数据
例题:磁盘有剩余,但无法继续建立文件?
inode用完了,lvm扩容,普通分区删除无用文件。
6、inode的大小
①inode号也会消耗硬盘空间,每个inode的大小一般是128字节或256字节
②inode在同一个文件系统里唯一,在不同的文件系统中可以重复
查看每个硬盘分区的inode总数和已经使用的数量,可以用命令df -i
7、inode的特点
①删除inode的方法:
删除inode号的方法:
方法一: find 文件位置 -inum inode号码 -exec rm -rf {} \;
方法二: find 文件位置 -inum inode号码 -delete
二、日志
日志默认保存在/var/log目录下
1、日志的功能
①用于记录系统,程序运行中发生的各种事件
②通过阅读日志,有助于诊断和解决系统故障
2、日志文件的分类
①由系统服务rsyslog统一进行管理,日志格式基本相似
②主配置文件/etc/rsyslog.conf
③记录系统用户登录及退出系统的相关信息
④由各种应用程序独立管理的日志文件,记录格式不统一
3、系统日志介绍
①sysklogd系统日志服务
②rsyslog系统日志服务
rpm -qi rsyslog
#查看rsyslog的详细信息
rpm -ql rsyslog
#查看rsyslog的文件列表
3、ELK
由Elasticsearch, Logstash, Kibana三个软件组成
4、rsyslog管理
4.1日志消息的级别
Linux系统内核日志消息的优先级别(数字等级越小,优先级越高,消息越重要):
级别?? ?消息? ? ? ? ? ?级别?? ?具体描述
0?? ?EMERG? ? ? ? ? 紧急?? ?会导致主机系统不可用的情况
1?? ?ALERT? ? ? ? ? ? 警告?? ?必须马上采取措施解决的问题
2?? ?CRIT? ? ? ? ? ? ? ?严重?? ?比较严重的情况
3?? ?ERR? ? ? ? ? ? ? ?错误? ? ?运行出现错误
4?? ?WARNING? ? ?提醒? ? ?可能影响系统功能,需要提醒用户的重要事件
5?? ?NOTICE? ? ? ? ?注意? ? ?不会影响正常功能,但是需要注意的事件
6?? ?INFO? ? ? ? ? ? ? 信息? ? ?一般信息
7?? ?DEBUG? ? ? ? ? 调试? ? ?程序或系统调试信息等
是yum或rpm安装配置文件一般放在etc下
在改配置文件一定要先备份,查看软件的配置文件位置,用rpm -qc软件名,去查看,一般以.conf
结尾的是配置文件。
5、rsyslog配置文件
配置文件格式:/etc/rsyslog.conf
①modules:相关模块配置
②global diretives:全局配置
③rules:日志记录相关的规则配置
6、用户登录日志
/var/log/secure: 记录用户认证相关的安全事件信息。
/var/log/lastlog: 记录每个用户最近的登录事件。二进制格式
/var/log/wtmp: 记录每个用户登录、注销及系统启动和停机事件。二进制格式
/var/ run/btmp: 记录失败的、错误的登录尝试及验证事件。二进制格式
7、last和lastb:查询用户登录的历史记录
①last命令用于查询成功登录到系统的用户记录
②lastb命令用于查询登陆失败的用户记录
用户名登录错误,密码输入错误都会被记录在里面,登录失败也属于安全时间,表示可能有人在尝试破解密码。除了使用lastb命令以外,还可以直接从安全日志/var/log/secure中获取相关信息。
8、journalctl日志管理工具
日志的配置文件:/etc/systemd/journald.conf
9、查询当前登录的用户情况
①users
②who
③w
10、日志的管理策略
- 及时做好备份和归档
- 延长日志保存期限
- 控制日志访问权限
- 日志中可能会包含各类敏感信息,如账户和口令等
- 集中管理日志
- 将服务器的日志文件发到统一-的日志文件服务器
- 便于日志信息的统- -收集、 整理和分析
- 杜绝日志信息的意外丢失、恶意篡改或删除
三、实操:将ssh服务日志单独存放
ssh远程连接协议:(1)压缩功能,传输快 (2)密文传输
1、进入rsyslog配置文件,添加自己的文件位置
vim /etc/rsyslog.conf
2、进入ssh配置文件,将ssh配置成使用local6
3、重启服务
4、验证,并查看本机日志记录(tail -f /var/log/secure)
四、实操:通过网络将本地的日志远程备份到另外一台机器
就算本机系统崩溃,我们可以查看另一台机器备份的日志,来排查故障
1、两台机器都关闭防火墙工具与selinux
2、打开配置文件,进行修改配置
3、重启服务
4、查看514端口是否启动
5、测试使用logger写入一条测试日志
6、接收方开启TCP和端口514
7、重启日志服务
systemctl restart rsyslog.service
8、查看接收方是否能收到日志记录
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!