Linux文件系统与日志分析

前言

在处理linux系统故障时。故障的症状是最容易发现的,导致这一故障的原因才是解决问题的关键,所以熟悉常见的日志文件,能进行分析与排除,才能更快速的解决问题。

一、inode和block概述

1. block

  • 文件是存储在硬盘上的,硬盘的最小存储单位叫做“扇区”(sector),每个扇区存储512字节。
  • 操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取的。一般连续八个扇区组成一个"块”(block),一个块是4K大小,是文件存取的最小单位。

2.inode

  • 文件数据包括实际数据与元信息(类似文件属性)。文件数据存储在“块"中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做 inode。
  • 一个文件必须占用一个inode,并且至少占用一个block。inode 不包含文件名。文件名是存放在目录当中的。
  • 每个inode都有一个号码,操作系统用 inode 号码来识别不同的文件。Linux 系统内部不使用文件名,而使用 inode 号码来识别文件。对于系统来说,文件名只是 inode 号码便于识别的别称,文件名和 inode 号码是一一对应关系,每个 inode 号码对应一个文件名。

3. 访问文件的流程

  • 当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的 inode 号码。
  • 通过 inode 号码,获取 inode 信息。
  • 根据 inode 信息,查看该用户是否具有访问这个文件的权限,如果有就指向相对应的数据block,并读取数据;没有则拒绝访问。

4. inode 的内容

inode 包含很多文件元信息,不包含文件名:

  • 文件的字节数
  • 文件拥有者的 UserID
  • 文件的 GroupID
  • 文件的权限
  • 文件的时间戳等

ls -i查看inode节点信息:
在这里插入图片描述
stat 命令会更详细:
在这里插入图片描述
Linux 系统文件有三个主要的时间属性,如下所示:

格式说明
ctime最后一次改变文件或目录(属性)的时间
atine最后一次访问文件或目录的时间
mtime最后一次修改文件或目录(内容)的时间

5. inode 的大小

  • inode 也会消耗硬盘空间,每个 inode 大小一般是128字节或256字节。
  • 格式化文件系统时确定inode总数。
  • 使用“df -i”可以查看每个硬盘分区的 inode 总数和已经使用的数量。
[root@localhost ~]#df -iTh
文件系统       类型     Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda3      xfs        18M    164K     18M       1% /
devtmpfs       devtmpfs  468K     437    468K       1% /dev
tmpfs          tmpfs     472K       1    472K       1% /dev/shm
tmpfs          tmpfs     472K    1.6K    470K       1% /run
tmpfs          tmpfs     472K      16    472K       1% /sys/fs/cgroup
/dev/sdb1      xfs        10M      83     10M       1% /home
/dev/sda1      xfs       250K     341    250K       1% /boot
tmpfs          tmpfs     472K       6    472K       1% /run/user/42
tmpfs          tmpfs     472K      17    472K       1% /run/user/0
/dev/sr0       iso9660      0       0       0        - /run/media/root/CentOS 7 x86_64

6. inode 的特殊作用

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

  • 当文件名包含特殊字符,可能无法正常删除文件,直接删除 inode,就可以删除文件。
  • 移动或重命名文件时,只改变文件名,不影响 inode 号码。
  • 打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名。
  • 文件数据被修改保存后,会生成-一个新的inode 号码。

通过 inode 号删除文件:

find ./ -inum 52305140 -exec rm -i {} \;
find ./ -inum 50464299 -delete

二、链接文件

  • 为文件或目录建立链接文件
  • 链接文件分类
软链接硬链接
删除原文件失效仍旧可用
使用范围使用文件或目录只可用于文件
保存位置与原始文件可以位于不同的文件系统必须与原始文件在同一个文件系统
  • ln 命令创建硬链接:
ln [源文件] [目标]
  • ln -s 命令创建软链接:
ln -s [源文件或目录] [目标文件或目录]

三、分析日志文件

内核及系统日志由系统服务rsyslog 统一管理,主配置文件为/etc/rsyslog.conf,Linux操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/1og/下。

1.日志文件的分类

  • 内核及系统日志:由系统服务 rsyslog 统一管理,根据其主配置文件 /etc/rsyslog.conf 中的设置决定将内核消息及各种系统程序消息记录到什么位置。系统中相当一部分程序会把自己的日志文件交由rsyslog日志管理,因此这些格式基本一致。
  • 用户日志:记录 Linux 系统用户登录及退出系统的相关信息。
  • 程序日志:用于记录本程序运行过程中的各种时间信息,由各种应用程序独立管理的日志文件,因此记录格式不统一。

2.常见的日志文件

日志文件说明
/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记录失败的、错误的登录尝试及验证事件

3.日志的级别

Linux系统内核日志消息的优先级别(数字等级越小,优先级越高,消息越重要) :
0 EMERG(紧急):会导致主机系统不可用的情况。
1 ALERT(警告):必须马上采取措施解决的问题。
2 CRIT(严重):比较严重的情况。
3 ERR (错误) :运行出现错误。
4 WARNING(提醒):可能影响系统功能,需要提醒用户的重要事件。
5 NOTICE (注意) :不会影响正常功能,但是需要注意的事件。
6 INFO(信息):一般信息。
7 DEBUG(调试):程序或系统调试信息等。

4.常见日志分析命令

users命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数。
who命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。who 的默认输出包括用户名、终端类型、登录日期及远程主机。
w命令用于显示当前系统中的每个用户及其所运行的进程信息,比 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、付费专栏及课程。

余额充值