深入了解linux文件与日志分析

457 阅读4分钟

inode和block的概述

什么是文件

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

什么是block

一般连续的八个扇区组成一个“块”(block),一个块大小为4k,是最小的文件单位

什么是inode

文件数据储存在“块”中,储存文件元信息(比如文件的创建者,创建日期,文件大小,文件权限等)的区域就叫做inode

注意:
  • inode不包含文件名,文件名是存放在目录中的
  • 一个文件必须占用一个inode,并且至少占用一个block
  • 每个inode都有一个号码,操作系统用用inode号码来识别不同的文件
  • Linux系统试图访问一个文件时时,系统会根据文件名查找它对应的inode号:通过inode号获取inode信息,根据inode信息看是否具有访问权限,如果有就指向对应的数据block并读取数据

查看inode

命令:
  • ls-il(长格式显示inode号)
  • ls-i(查看文件名对应的inode号)
  • stat+文件名(查看文件inode信息中的inode号)

微信截图_20220810165958.png

linux系统文件三个主要的时间属性

如上图所示:

最近访问:atime(access time)

  • 最后一次访问文件或目录的时间

最近更改:ctime(chsnge time)

  • 最后一次改变文件或目录(属性)的时间

最近改动:mtime(modify time)

  • 最后一次修改文件或目录(内容)的时间
访问文件的简单流程

微信截图_20220810171232.png

注意:

inode号也会消耗硬盘空间,每个inode号的大小一般倒是128字节或256字节

通过inode查找文件

find+目录+-inum+inode号

微信截图_20220815165844.png

通过inode号删除文件

微信截图_20220815170134.png

image.png

image.png

日志文件

日志的功能
  • 用于记录系统,程序运行中发生的各种事件
  • 通过阅读日志,有助于诊断和解决系统故障
日志文件的分类
  • 内核及系统日志(由系统服务rsyslog统一进行管理)
  • 用户日志(记录系统用户登录及推出系统的相关信息)
  • 程序日志(由各种应用程序独立管理的日志文件,记录格式不统一)

常见的日志文件

linux操作系统本身和大部分服务程序的日志都默认放在目录/var/log/下

内核及公共消息日志:

/var/log/messages:记录linux内核消息及各种应用程序的公共日志信息

计划任务日志:

/var/log/cron:记录crond计划任务产生的事件信息

系统引导日志:

/var/log/dmesg:记录linux系统在引导过程中的各种事件信息

邮件系统日志:

/var/log/maillog:记录进入或发出系统的电子邮件活动

用户登录日志:

  • /var/log/secure:记录用户认证相关的安全事件信息
  • /var/log/lastlog:记录每个用户最近的的登录事件(二进制格式)
  • /var/log/wtmp:记录每个用户登录,注销及系统启动和停机事件(二进制格式)
  • /var/run/btmp:记录失败的,错误的登录尝试及验证事件(二进制格式)

内核及系统日志

查看配置文件

vim /etc/rsyslog.conf

微信截图_20220815204445.png

设备字段说明

image.png

image.png

日记记录的一般格式

微信截图_20220815205135.png

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

用户日志分析

  • /var/log/lastlog:最近的用户登录事件
  • /var/log/wtmp:用户登录,注销及系统开关机事件
  • /var/run/utmp:当前登录的每个用户的详细信息
  • /var/log/secure:与用户验证相关的安全性事件

分析工具

  • last命令用于查询成功登录到系统的用户信息
  • lastb命令用于查询登录失败的用户记录

日志管理策略

  • 及时做好备份和归档
  • 延长日志保存期限
  • 控制日志访问权限(日志中可能包含敏感信息)
  • 集中管理日志
  1. 将服务器的日志文件发到统一的日志文件服务器
  2. 便于日志信息的统一收集,整理和分析
  3. 杜绝日志信息的意外丢失,恶意篡改或删除