首页 > 系统相关 >Linux 文件系统以及日志管理

Linux 文件系统以及日志管理

时间:2024-07-05 14:26:17浏览次数:16  
标签:文件 登录 记录 文件系统 journalctl Linux 日志 inode

一、inode 与block

1. inode 与block详解

在文件存储硬盘上,硬盘的最小存储单位叫做“扇区”,每个为512字节。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块" ( block )。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小 ,最常见的是4KB ,即连续八个扇区组成一个块

block(块)

连续的八个扇区组成一个block 是文件存取的最小单位

inode (索引节点)

文件数据存储在"块”中,那么还必须找到一个地方存储文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种存储文件元信息的区域就叫inode(索引节点),也叫i节点。 文件数据存储在block块中,文件属性存储在inode

中文译名为:索引节点 ,也叫i节点 用于存储文件元信息

每一个inode大小一般是128字节或256字节


2.inode 作用

1.文件名包含特殊字符,可能无法正常删除。这时直接删除inode,能够起到删除文件的作用;
2.移动文件或重命名文件,只是改变文件名,不影响inode 号码;
3.打开一个文件以后,系统就以inode 号码来识别这个文件,不再考虑文件名。
4.文件数据被修改保存后,会生成一个新的inode 号码。
 

直接查看、修改文件内容或者改变文件名都不会影响 inode号,使用 vi 编辑器修改文件保存退出后会影响 inode号

针对无法正常删除文件名含有特殊符号的文件时,可根据 inode号 来删除文件

二、恢复误删除的文件 ext3

extundelete 是一个开源的Linux 数据恢复工具,支持ext3、 ext4文件系统。 ( ext4只能在centos6版本恢复)

首先创建sdb1 ,格式化为ext3 类型:

进行挂载:

安装依赖包:

编译安装extundelete:

在opt下找到extundelete:

生成几个文件:

extundelete /dev/sdc1 --inode 2              #查看文件系统/dev/sdc1下存在哪些文件:

删除pkm.txt , jqg.txt 文件

extundelete /dev/sdc1 --inode 2  查询这两个文件状态以删除

将挂载解除:

extundelete /dev/sdc1 --restore-all              #恢复/dev/sdc1 文件系统下的所有内容:

在当前目录下会出现一个RECOVERED_FILES/目录,里面保存了已经恢复的文件:

三、 恢复误删除的文件 xfs

xfs类型文件备份和恢复
CentOs 7系统默认采用xfs类型的文件,xfs类型的文件可使用xfsdump 与xfsrestore 工具进行备份恢复

xfsdump命令常用的选项:
-f: 指定备份文件目录
-L: 指定标签session label
-M: 指定设备标签media labe........ 。
-s:备份单个文件,-s后面不能直接跟路径

xfsdump使用限制:
1.只能备份已挂载的文件系统
2.必须使用root的权限才能操作
3.只能备份XFS文件系统
4.备份后的数据只能让xfsrestore解析
5.不能备份两个具有相同UUID的文件系统(可用blkid命令查看)
 

首先建立sdb2 ,建立xfs格式的文件系统:

进行挂载:

检查xfsdump是否安装,若没有可yum安装:

在mnt下创建文件:

xfsdump -f /opt/dump_sdb /dev/sdb2 -L dump_sdb -M sdb2   #备份sdb2文件到/opt/dump_sdb下

将mnt下的文件删除:

使用xfsrestore -f /opt/dump_sdb /opt/mnt    将备份的数据恢复到mnt下:

查看mnt下,删除文件已恢复:

四、 Linux 系统日志文件

1. 日志的功能

用于记录系统、程序运行中发生的各种事件

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

2. 日志文件的分类

内核及系统日志

由系统服务rsyslog统一进行管理,日志格式基本相似

用户日志

记录系统用户登录及退出系统的相关信息

程序日志

由各种应用程序独立管理的日志文件,记录格式不统一

3. 常见的一些日志文件及位置

内核及公共消息日志:
/var/log/messages: 记录Linux内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等
对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息
计划任务日志:
/var/1og/cron: 记录crond计划任务产生的事件信息
系统引导日志:
/var/log/dmesg: 记录Linux系统在引导过程中的各种事件信息
邮件系统日志:
/var/log/maillog: 记录进入或发出系统的电子邮件活动

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

vim /etc/rsyslog.conf           #查看rsyslog.conf 配置文件

4. 系统内核日志消息的优先级别

Linux系统内核日志消息的优先级别(数字等级越小,优先级越高,消息越重要) :
 

5. 公共日志/var/log/messages文件的记录格式
 

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

6.用户日志分析

分析工具:users  , w , who , last , lastb

users:命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数


who:命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。who 的默认输出包括用户名、终端类型、登录日期及远程主机

w:命令用于显示当前系统中的每个用户及其所运行的进程信息,比 users、who 命令的输出内容要丰富一些

last:命令用于查询成功登录到系统的用户记录,最近的登录情况将显示在最前面。通过last 命令可以及时掌握 Linux 主机的登录情况,若发现未经授权的用户登录过,则表示当前主机可能已被入侵

lastb:命令用于查询登录失败的用户记录,如登录的用户名错误、密码不正确等情况都将记录在案。登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。除了使用 lastb 命令查看以外,也可以直接从安全日志文件/var/log/secure 中获得相关信息

我们在192.168.192.20主机上可以查看到有登录失败的信息:

五、 日志文件管理

1. journalctl 工具

journalctl工具是CentOS-7才有的工具
Systemd 统一管理所有 Unit 的启动日志。带来的好处就是 ,可以只用journalctl一个命令,查看所有日志(内核日志和 应用日志)

journalctl -b       #查看本次启动的日志

journalctl -k       #查看内核日志

journalctl -e       #从结尾开始看

journalctl -x:           #提供问题相关的网址

journalctl -u·httpd      #指定某个服务报错

journalctl -p           #日志级别查看

journalctl -xe          #经常用来查看最近报错的日志

在httpd服务文件内写错:

此时启动httpd服务时报错:

我们可以使用journalctl -xe 命令查看报错:

2. rsyslog服务

rsyslog是CentOS 6以后的系统使用的日志系统,rsyslog是用来管理、记录日志的程序

首先查看服务是否开启:

mail.*   代表比*等级高的都记录,*代表任何,也就是说任何日志都记录
.none 代表不记录日志
日志存放位置为*:所有日志高于疼痛这个等级就会对所有在线用户广播
.=代表只记录=后面级别的日志
.!代表除了!后面级别的日志不记录其他的都记录
存放路径之前有“-”代表先放入缓存足够大之后再存放在路径

我们可进入/etc/rsyslog.conf 自定义日志:

重启 rsyslog.service 服务:

在/var/log 下可查看到存在info.conf 文件:

标签:文件,登录,记录,文件系统,journalctl,Linux,日志,inode
From: https://blog.csdn.net/Jin_0612_/article/details/140177637

相关文章

  • 详解Web应用安全系列(8)不足的日志记录和监控
    在Web安全领域,不足的日志记录和监控是一个重要的安全隐患,它可能导致攻击者能够更隐蔽地进行攻击,同时增加了攻击被检测和响应的难度。以下是对Web攻击中不足的日志记录和监控漏洞的详细介绍。一、日志记录不足的问题日志缺失或不完整关键操作未记录:如用户登录、敏感数据......
  • linux 服务器与本地文件传输
    相信有的小伙伴在刚开始接触linux时,不知道如何把文件上传到linux中,本文介绍两种方式供大家使用(推荐使用第二种)一.scp传输scpC:\\[email protected]/root/.....使用上述指令,即可实现将制定文件传输到服务器中,其中C…以及/root/…需要换成你自己的路径。165…........
  • Linux(Centos7)安装Docker 社区(ce)版
    安装准备查看Linux系统版本是否为centos7cat/etc/os-release确保系统内核为3版本以上uname-a安装Docker如之前安装过请卸载yumremovedocker\docker-client\docker-client-latest\docker-common\......
  • Linux虚拟机配置杂项问题汇总
    下面提到的相关问题,大部分是基于Ubuntu系统进行操作的,因为CentOS在我目前实践中涉及较少。因此如无明确提及系统,均默认在Ubuntu、debian一类系统中操作。1、更新root密码:新创建的虚拟机有时没有设置root密码导致进入root权限麻烦,使用如下命令可以设置密码。sudopasswdroot2......
  • SQL Server 中用于备份数据库的 BACKUP 命令提供了多种选项和灵活性,主要包括以下几种:S
    SQLServer中用于备份数据库的BACKUP命令提供了多种选项和灵活性,主要包括以下几种:1.完整备份(FULL)完整备份将整个数据库备份到指定的备份介质(如磁盘或磁带)。语法如下:sqlCopyCodeBACKUPDATABASEdatabase_nameTOdisk='backup_device_path'[,...n]database_name:要备......
  • Linux磁盘管理
    磁盘管理【1】、Linux常用的分区格式在新增磁盘后要对其进行分区,分区后才可以去存储数据MBR分区格式:比较古老的分区格式,只能划分4个主分区,如果四个分区划分完成后,硬盘空间还有剩余,那剩余的分区也不能够使用。后来新增加扩展分区(容器)功能,可在扩展分区内划分出更多的逻辑分......
  • Oracle数据库的日志切换策略
    Oracle数据库的日志切换策略是确保数据库稳定运行和事务连续性的关键机制之一。以下是对Oracle日志切换策略的详细解析1、自动日志切换1.1、重做日志切换:Oracle数据库使用重做日志文件(RedoLogFiles)来保证实例恢复。当当前的重做日志文件写满时,Oracle会自动进行日志切换......
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线打开 word文件并另存HTML或
    国产linux系统(银河麒麟,统信uos)使用PageOffice国产版在线打开pdf文件PageOffice国产版:支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)芯片架构。查看本示例演示效果本示例关键代码的编写位置Vue+Springboot注意本文中展示的......
  • Linux进程间的通信方式(三)System V 信号量
    文章目录前言一、信号量概念1.1信号跟信号量的区别1.2同步跟互斥的区别1.2.1同步的概念1.2.2互斥的概念1.3原子操作概念二、信号量的相关操作函数2.1ftok函数(获取一个key值)2.2semget函数(创建或者获取信号量)2.3semctl函数(控制信号量)2.4semop函数(操作信号......
  • Linux C系列学习笔记_第四集
    局部变量和全局变量可以重名,作用域遵循就近原则#include<stdio.h>inta=10;//全局变量avoidfun(){printf("1.%d\n",a);inta=1;//a=1;printf("2.%d\n",a);}intmain(){inta=8;......