Linux中inode号与日志分析

news2024/11/15 10:51:18

一.inode号

1.inode表结构

元信息:每个文件的属性信息,比如:文件的大小,时间,类型,权限等,称为文件的元数据(meta data 元信息 )

元数据是存放在inode(index node)表中。inode 表中有很多条记录组成,第一条记录对应的存放了一个文件的元数据信息。

每一个inode表记录对应的保存了以下信息:

  • inode number 节点号

  • 文件类型

  • 权限

  • UID

  • GID

  • 链接数(指向这个文件名路径名称个数)

  • 该文件的大小和不同的时间戳

  • 指向磁盘上文件的数据块指针

  • 有关文件的其他数据

inode  是有限资源,如果消耗完毕,无法继续新建文件     解决方法:删除空文件,无用的文件

inode  号在同一设备中是唯一的

在不同设备中inode号是可以相同的

2.如何查看inode号
ls -i
stat
atime:访问文件时间,需要打开文件时间才会变化
mtime:最近更改时间,文件内容发生改变,时间才会变化
ctime:最近改动时间,文件的元信息发生改变,时间才会改动  属主 属组 大小

1.文件是存储在硬盘上的,硬盘的最小存储单位叫做“扇区”(sector),每个扇区存储512字节。

2.一般连续八个扇区组成一个"块”(block),一个块是4K大小,是文件存取的最小单位。操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取的。4k一读,8个扇区一读

3.文件数据包括实际数据与元信息(类似文件属性)。文件数据存储在“块"中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode表。 因此,一个文件必须占用一个inode,并且至少占用一个block。du 显示

4.inode不包含文件名。文件名是存放在目录文件夹当中的。Linux 系统中一切皆文件,因此目录也是一种文件。

5.每个inode都有一个号码,操作系统用inode号码来识别不同的文件。Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称,文件名和inode号码是一一对应关系,每个inode号码对应一个或多个文件名。

唯一 同一文件系统() 不同的文件

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

硬盘上最小的存储单位为扇区(512字节)

文件存储的最小单位为块8个扇区组成为4k

目录文件的结构非常简单,就是一系列目录项(dirent)的列表。每个目录项,由两部分组成:所包含文件的文件名,以及该文件名对应的inode号码。

3.inode 的大小

inode 消耗磁盘空间

1.每个inode的大小

2.一般是128字节或256字节

格式化文件系统时确定inode的总数

使用df -i 命令可以查看每个硬盘分区的inode总数和已经使用的数量

示例:

4.inode的特殊作用

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

(1)当文件名包含特殊字符,可能无法正常删除文件,直接删除inode ,也可以删除文件

(2)移动或重命名文件时,只改变文件名,不影响inode号码

(3)打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名

二.日志

1.日志的介绍

内核及系统日志由系统服务 rsyslog 统一管理,根据其主配置文件 /etc/rsyslog.conf

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

2.日志的功能

(1)用于记录系统,程序运行中发生的各种事件

(2)通过阅读日志,有助于诊断和解决系统故障

3.常见的一些日志文件
日志文件位置日志文件说明
/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等命令查看

日志                   作用                         命令

btmp         查看登录失败的用户         lastb  

lastlog       查看最后一次登录情况     lastlog

wtmp         用户成功登录的日志         last

日志文件的格式包含以下 4 列:

  • 事件产生的时间。

  • 产生事件的服务器的主机名。

  • 产生事件的服务名或程序名。

  • 事件的具体信息。

4.日志的级别

在 Linux 内核中,根据日志消息的重要程度不同,将其分为不同 的优先级别(数字等级越小,优先级越高,消息越重要)。

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

系统安全日志

文件位置:/var/log/secure

文件格式:文本文件

示例:登录失败的信息

远程登录192.168.240.11

使用 lastb 命令查询 登录失败的日志

6.rsyslog配置文件

/etc/rsyslog.conf配置文件格式由三部分组成

(1)MODULES:相关模块配置

(2)GLOBAL  DIRECTIVES:全局配置

(3)RULES:日志记录相关的规划配置

RULES配置格式:

facility.priority;
#分类     日志的级别


*:所有级别
none:没有级别,即不记录
PRIORITY:指定级别(含以上的所有级别)
=PRIORITY:仅记录指定级别的日志信息

文件路径:通常在/var/log/,文件路径前的 “-”表示异步写入
异步写入:内存中记录一段时间后再存入磁盘

用户:将日志事件通知给指定用户,* 表示所有用户
日志服务器:@host,把日志送往至指定的远程UDP日志服务器  @@host 将日志发送到远程TCP日志服务器
管道:|  COMMAND,转发给其他命令处理
7.实验

1.生成独立的日志文件

ssh是远程登陆的程序,软件默认的日志在 /var/log/secure ,利用rsyslog程序给ssh生成独立的日志文件,ssh配置文件/etc/ssh/sshd_config

(1)进入ssh配置文件和rsyslog配置文件并进行修改

(2)重新启动修改过的程序,并使用另一台机器远程连接

(3)使用tail  -f  命令实时查看可以看到zxy12远程登录的信息

2.搭建日志服务器

(1)进入到rsyslog 配置文件修改

(2)在messages增加一条,路径为c7-12的ip地址

(3)将程序重新启动,实时查看/var/log/messages 并模拟生成日志文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1616715.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java】Java基础 使用集合实现斗地主分牌

📝个人主页:哈__ 期待您的关注 今天使用集合TreeSet来实现一个斗地主的分牌流程。 TreeSet集合的一个特点就是 元素有序,这样就方便我们分的牌自动排序。 0.思路 1.创建玩家手牌集合 我们到时候分的牌都存储在这里,但你可能会…

AI大模型探索之路-应用篇17:GLM大模型-大数据自助查询平台架构实践

文章目录 前言一、技术架构设计二、本地知识库准备三、SQLServer服务1. 数据库准备步骤1:安装MySQL数据库步骤2:启动MySQL数据库步骤3:登录MySQL数据库步骤4:创建数据库用户glm步骤5:给数据库用户赋权限步骤6&#xff…

前端CSS基础6(CSS列表与表格的相关属性,边框的样式调整)

前端CSS基础6(CSS列表与表格的相关属性,边框的样式调整) CSS列表相关属性CSS表格相关属性回忆表格边框相关属性单元格边框相关属性回忆单元格的跨行和跨列操作单元格边框的相关属性 CSS列表相关属性 在 CSS 中,列表(L…

Hadoop3:大数据生态体系

一、技术层面 通过下面这张图,我们可以大概确定,在大数据行业里,自己的学习路线。 个人认为,Hadoop集群一旦搭建完工,基本就是个把人运维的事情 主要岗位应该是集中在数据计算层,尤其是实时计算&#xff…

Skill Check: Building Blocks for an LLM Application

Skill Check: Building Blocks for an LLM Application

docker 报错 error adding seccomp filter rule for syscall clone3

网上有一些说法,例如重新安装docker 但是我自己尝试,用 –security-opt seccompunconfined 就可以,但是需要把这个命令放到紧挨着run的位置,如果放到偏后的位置,可能不起作用。 以下命令是其他网友启动是的命令&…

nfs网络存储配置

准备:yum install rpcbind yum install nfs-server 一台服务器:192.168.220.131 一台客户端:192.168.220.220 服务器: 先启动rpcbind服务:systemctl restart rpcbind 在启动…

day83 AJAX

1什么是AJAX AJAX语法 AJAX Asynchronous JavaScript and XML 异步js和XML 实现页面某一部份更新,无需服务器转发或重定向 1 $.ajax() 语法: $.ajax( { "url" : "url&qu…

Python | Leetcode Python题解之第43题字符串相乘

题目: 题解: class Solution:def multiply(self, num1: str, num2: str) -> str:if num1 "0" or num2 "0":return "0"m, n len(num1), len(num2)ansArr [0] * (m n)for i in range(m - 1, -1, -1):x int(num1[i…

Python --- 新手小白自己动手安装Anaconda+Jupyter Notebook全记录(Windows平台)

新手小白自己动手安装AnacondaJupyter Notebook全记录 这两天在家学Pythonmathine learning,在我刚刚入手python的时候,我写了一篇新手的入手文章,是基于Vs code编译器的入手指南,里面包括如何安装python,以及如何在Vs…

HCIP-Datacom-ARST必选题库_01_ACL【7道题】

一、单选 1.下面是一台路由器的部分配置,关于该配置描述正确的是: 源地址为1.1.1.1的数据包匹配第一条ACL语句rule 0,匹配规则为允许 源地址为1.1.1.3的数据包匹配第三条ACL语句rule 2,匹配规则为拒绝 源地址为1.1.1.4的数据包匹配第四条ACL语句rule 3,匹配规则为允…

车灯专用方案12V24V36V48V转9V/12V 线性恒流H7306

电流控制:为了保持输出电流的恒定,转换器使用一种称为恒流控制的技术。恒流控制通常通过测量输出电流并与一个参考电流进行比较来实现。如果输出电流超过参考电流,控制电路将调整输出电压或电流,以降低输出电流至所需的恒定值。 …

springboot 批量下载文件, zip压缩下载

一、使用hutool 工具类 效果&#xff1a;下载速度可以 1、依赖&#xff1a;hutool <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.26</version> </dependency>2、调用方式 im…

初识《list》及手搓模拟《list》

目录 前言&#xff1a; 1. list的介绍及使用 list的介绍&#xff1a; list的使用&#xff1a; 1、list的构造​编辑 2、list iterator的使用 3、list capacity 4、list element access 5、list modifiers 2.list的模拟实现 1、关于迭代器&#xff1a; 2、迭代器类的…

如何搭建一个vue2组件库(king-ui-pro)

文章引用图片无法查看&#xff0c;直接查看原文 感兴趣的可以关注或订阅下这个系列&#xff0c;后续会陆续将相关的组件与公共方法进行分享 目前已经完成了的组件有 多行省略pro版&#xff0c;不是简单的多行省略效果 公共方法&#xff1a; 1、图片预览&#xff0c;知乎的图…

MOS产品在电池化成分容设备上的应用与型号分析

据市场研究机构预测&#xff0c;全球电池化成分容产线市场规模在未来几年将继续保持增长态势。其中&#xff0c;亚洲市场增长速度最快&#xff0c;尤其是中国市场。中国政府对于新能源汽车和储能领域的支持力度不断加大&#xff0c;推动了电池化成分容产线的市场需求不断增长。…

ZISUOJ 高级语言程序设计实训-基础B(部分题)

说明&#xff1a; 有几个题是不会讲的&#xff0c;我只能保证大家拿保底分。 题目列表&#xff1a; 问题 A: 统计字母个数 思路&#xff1a; 把a到z放map里处理后输出即可。 参考题解&#xff1a; #include <iostream> #include <string> #include <map> …

台灯的功能作用有哪些?分享护眼灯排行榜前十名

说到台灯相信大家都不陌生&#xff0c;基本家家户户都会备上一台&#xff0c;不过也有家长存在疑惑&#xff0c;台灯的功能作用有哪些呢&#xff1f;其实台灯最主要的作用就是补充桌面不足的照明&#xff0c;一般单靠室内灯提供亮度是远远不够的&#xff0c;容易造成桌面亮度不…

“卫星-无人机-地面”遥感数据快速使用及地物含量计算的实现方法

原文链接&#xff1a;“卫星-无人机-地面”遥感数据快速使用及地物含量计算的实现方法https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247601940&idx6&sn515e01666037570939aaf0eee56f46d1&chksmfa820ef3cdf587e5276eac181c890026b6ca4bc36ce0e4f80d89d…

Linux开机启动流程

Linux开机启动流程详细步骤如下图&#xff1a; 其中&#xff1a; POST:Power On Self Test --加电自检 BIOS: Basic Input Output System --基础输入输出系统 MBR: Master Boot Record --主引导记录 GRUB: GRand Uni…