Linux文件系统与日志分析

news2024/11/13 8:22:12

目录

一、Linux文件系统

1、inode与block

2、查看inode号码的命令

3、inode包含文件的元信息

4、Linux系统文件的三个主要时间属性

5、用户通过文件名打开文件时系统内部过程

6、inode的大小

7、inode的特点

二、日志

1、日志的功能

2、日志文件的分类

3、系统日志介绍

3、ELK

4、rsyslog管理

5、rsyslog配置文件

6、用户登录日志

7、last和lastb:查询用户登录的历史记录

8、journalctl日志管理工具

9、查询当前登录的用户情况

10、日志的管理策略

三、实操:将ssh服务日志单独存放

1、进入rsyslog配置文件,添加自己的文件位置

2、进入ssh配置文件,将ssh配置成使用local6

3、重启服务

4、验证,并查看本机日志记录(tail -f /var/log/secure)

四、实操:通过网络将本地的日志远程备份到另外一台机器

1、两台机器都关闭防火墙工具与selinux

2、打开配置文件,进行修改配置

3、重启服务

4、查看514端口是否启动

5、测试使用logger写入一条测试日志

6、接收方开启TCP和端口514

7、重启日志服务

8、查看接收方是否能收到日志记录


一、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、查看接收方是否能收到日志记录

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

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

相关文章

JavaScript基础(24)_dom查询练习(一)

<!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><link rel"stylesheet" href"../browser_default_style/reset.css"><title>dom查询练习一</title><style>.text {widt…

c语言:求1-100的奇数和|练习题

一、题目 求1-100以内的奇数和 二、代码截图【带注释】 三、源代码【带注释】 #include <stdio.h> //思路分析 //1、一个除以2&#xff0c;除不尽的&#xff0c;便是奇数 //设计常量N为100&#xff0c;常量随时可以变动 #define N 100 int main() { int sum0;//设…

【Python】不一样的Ansible(一)

不一样的Ansible——进阶学习 前言正文概念Ansible CorePlugins和Modules 插件插件类型编写自定义插件基本要求插件选项文档标准编写插件 添加一个本地插件注册为内置插件指定插件目录 其他一些技巧更改Strategy 结语 前言 Ansible 是一个极其简单的 IT 自动化引擎&#xff0c…

MISRA C 解读

说明&#xff1a;本文由vector官方视频整理而来&#xff0c;原视频链接解读MISRA C_哔哩哔哩_bilibili 1、MISRA 简介 1.1 发起 MISRA (The Motor Industry Software Reliability Association ) 汽车工业软件可靠性联会&#xff0c;起先作为研究车载嵌入式软件制备准则的开发…

FFmpeg读取Assets资源文件

在Android开发中我们经常把原生资源文件放在assets目录下以供需要时读取&#xff0c;通过API提供的resources.assets.open(filename)/openFd(filenam)方法可以非常方便获得InputStream或FileDescriptor&#xff08;文件标识符&#xff09;&#xff0c;但是在使用FFmpeg读取Asse…

CTF-PWN-沙箱逃脱-【seccomp和prtcl-1】

文章目录 啥是seccomp#ifndef #define #endif使用使用格式 seccomp无参数条件禁用系统调用有参数条件禁用系统调用 prctl实例 seccomp_export_bpf 啥是seccomp 就是可以禁用掉某些系统调用&#xff0c;然后只能允许某些系统调用 #ifndef #define #endif使用 #ifndef #defin…

Neo4j恢复

主要记录从备份文件中恢复Neo4j 误删数据 为了模拟误删除场景&#xff0c;我们查询Person&#xff0c;并模拟误操作将其进行删除&#xff1b; match(p:Person) return p Step1&#xff1a; 关闭服务 Step2&#xff1a; 恢复数据 找到Neo4j的数据文件夹&#xff0c;我的安…

Linux第18步_安装“Ubuntu系统下的C语言编GCC译器”

Ubuntu系统没有提供C/C的编译环境&#xff0c;因此还需要手动安装build-essential软件包&#xff0c;它包含了 GNU 编辑器&#xff0c;GNU 调试器&#xff0c;和其他编译软件所必需的开发库和工具。本节用于重点介绍安装“Ubuntu系统下的C语言编译器GCC”和使用。 1、在安装前…

矢量,矢量化的梯度下降以及多元线性回归

一、矢量 定义&#xff1a;按照特定顺序排列的元素集合。可以被视为一维数组。 在机器学习中的作用&#xff1a; 特征表示&#xff1a;在机器学习任务中&#xff0c;输入数据通常以矢量的形式表示。例如&#xff0c;图像可以表示为像素值的矢量&#xff0c;文本可以表示为词…

CodeGPT,你的智能编码助手—CSDN出品

CodeGPT是由CSDN打造的一款生成式AI产品&#xff0c;专为开发者量身定制。 无论是在学习新技术还是在实际工作中遇到的各类计算机和开发难题&#xff0c;CodeGPT都能提供强大的支持。其涵盖的功能包括代码优化、续写、解释、提问等&#xff0c;还能生成精准的注释和创作相关内…

springCould中的gateway-从小白开始【9】

目录 1.&#x1f35f;网关是什么 2.&#x1f37f;gateway是什么 3.&#x1f95a;gateway能什么 4.&#x1f32d;核心概念 5.&#x1f9c2;工作流程 6.&#x1f9c8;实例 7.&#x1f953;gateway网关配置的方式 8.&#x1f373;配置动态路由 9.&#x1f9c7;pred…

软件开发和网络安全哪个更好找工作?

为什么今年应届毕业生找工作这么难&#xff1f; 有时间去看看张雪峰今年为什么这么火就明白了。 这么多年人才供给和需求错配的问题&#xff0c;在经济下行的今年&#xff0c;集中爆发。 供给端&#xff0c;大学生越来越多。需求端&#xff0c;低端工作大家不愿去&#xff0c;高…

springboot集成cas客户端

Background 单点登录SSO(Single Sign ON)&#xff0c;指在多个应用系统中&#xff0c;只需登录一次&#xff0c;即可在多个应用系统之间共享登录。统一身份认证CAS&#xff08;Central Authentication Service&#xff09;是SSO的开源实现&#xff0c;利用CAS实现SSO可以很大程…

年销5万的岚图没有爆款

作者 | 辰纹 来源 | 洞见新研社 3款车一年卖了5万台&#xff0c;这个销量不算多&#xff0c;可对于岚图来说&#xff0c;却很不容易&#xff0c;CEO卢放称这是“一场翻身仗”&#xff0c;在写给全体员工的“家信”中表达谢意&#xff0c;称是“大家的团结奋斗&#xff0c;驱动…

代码随想录刷题题Day28

刷题的第二十八天&#xff0c;希望自己能够不断坚持下去&#xff0c;迎来蜕变。&#x1f600;&#x1f600;&#x1f600; 刷题语言&#xff1a;C Day28 任务 ● 343. 整数拆分 ● 96.不同的二叉搜索树 1 整数拆分 343. 整数拆分 思路&#xff1a; 动态规划 &#xff08;1&a…

jenkins通过流水线自动部署项目(k8s部署)

参考&#xff1a;https://www.cnblogs.com/rb2010/p/16195443.html docker 拉取镜像到本地&#xff1a; docker pull docker.io/jenkins/jenkins:2.164配置卷挂载&#xff1a;使用nfs 参考&#xff1a;https://www.kuboard.cn/learning/k8s-intermediate/persistent/nfs.htm…

软考通过率真的低吗?

软考通过lv确实相对较低。软考通过lv低的原因主要有以下几点&#x1f447; ✅软考本身是计算机类别的考试&#xff0c;考试难度本身不小。 ✅报考没有条件限制&#xff0c;报考的人水平参差。弃考和零基础考生较多。 ✅不同的科目通过lv有所差异&#xff0c;初级的大致在30%&am…

如何将 element-ui 中的 el-select 默认展开

<el-form-item label"藕粉桂花糖糕" prop"state" required><el-selectref"mySelect"v-model"form.state"style"width: 280px"placeholder"请选择"><el-option label"藕粉" :value"…

二分查找(二)

点名 点名 某班级 n 位同学的学号为 0 ~ n-1。点名结果记录于升序数组 records。假定仅有一位同学缺席&#xff0c;请返回他的学号。 二分法思路&#xff1a;判断数组的值和对应的下标是否相等&#xff0c;将数组分为两个区间&#xff0c;不相等区间的最左端&#xff0c;就是…

java⽇志体系

⽇志体系 1.体系概述2.日志的使用1.上古时代的sout2.开创先驱的log4j3.搞事情的JUL4.应运⽽⽣的JCL5.再起波澜的logback6.再度⻘春的log4j2 本篇在jdk21下测试通过 1.体系概述 1.日志接口 JCL&#xff1a;Apache基⾦会所属的项⽬&#xff0c;是⼀套Java⽇志接⼝&#xff0c;之…