当前位置:   article > 正文

Linux日志管理超详细_linux对配置日志操作权限控制策略

linux对配置日志操作权限控制策略

一、inode和block介绍
1.文件数据

文件数据包括元信息与实际数据

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

block (块):连续的八个扇区组成一 个block(4K)是文件存取的最小单位

inode (索引节点):中文译名为“索引节点",也叫节点用于存储文件元信息

在这里插入图片描述
详细解释:

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

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

文件数据包括实际数据与元信息( 类似文件属性)。文件数据存储在"块中,存储文件元信息( 比如文件的创建者、创建
日期、文件大小、文件权限等)的区域就叫做inode.因此。一一个文件必须占用一个inode, 并且至少占用一个block。inode不包含文件名。文件名是存放在目录当中的。Linux 系统中一切皆文件。因此目录也是一种文件。

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

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

Linux系统文件三个主要的时间属性
ctime(change time):最后一次改变文件或目录(属性)的时间
atime(access time):最后一次访问文件或目录的时间
mtime(modify time):最后次修改文件或目录(内容)的时间

目录文件的结构
(1)每个inode都有一个号码,操作系统用inode号码来识别不同的文件
(2)Linux系统内部不使用文件名,而使用inode号码来识别文件
(3)对于用户,文件名只是inode号码便3 F识别的别称

系统中用户访问文件的步骤
第一步:用户在Linux系统中访问一个文件
第二步:系统根据文件名查找对应的inode号码
第三步:通过inode号码,获取inode信息
第四步:根据inode信息,看该用户是否具有访问这个文件的权限;如果有,就指向相对应的数据block,并读取数据。

3.查看inode号码方法

ls -i命令:查看文件名对应的inode号码
在这里插入图片描述

stat命令:查看文件inode信息中的inode号码
在这里插入图片描述

查看硬盘分区对应的 inode 总数和已经使用的inode 数量
在这里插入图片描述
注:

inode也会消耗硬盘空间,所以格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据:另个是inode区,存放inode所包含的信息。

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

通常情况下不需要关注单个inode的大小,而是需要重点关注inode总数。inode的总数在格式化时就给定了,执行"df -i” 命令即可查看每个硬盘分区对应的的inode 总数和已经使用的inode数量。
  • 1
  • 2
  • 3
  • 4
  • 5

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

通过删除inode号删除文件

find ./ -inum 68200037 -exec rm -i {} \;
find ./ -inum 68200037 -delete
  • 1

示例:
在这里插入图片描述

4.inode节点耗尽故障处理

●实验步骤:

(1)使用fdisk创建分区/dev/sdb1,分区大小15M即可
fdisk /dev/sdb   n→p→1→回车→+15M→w  -创建分区
mkfs.ext3 /dev/sdb1   -对于centos 7系统,节点耗尽故障处理的文件类型可以是ext3或ext4
mkdir /data
mount /dev/sdb1 /data
df -i

(2)模拟inode节点耗尽故障
for ((i=1; i<=3829; i++));do touch /data/file$i;done  
或者   touch {1..3829}.txt
df -i
df -hT

(3)删除文件恢复
rm -rf /data/*
df -i
df -hT
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

●示例:

#模拟inode'节点耗尽故障
for ((i=1; i<=7680; i++));
do touch /test/ file$i ;
done

touch {1. .7680} . txt
df -i
df -hT
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
●注:当inode被占满时,即使磁盘有空间也不能创建文件。

二、文件备份恢复
1.xfs系统文件恢复

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

●xfsdump 的备份级别有两种:0 表示完全备份;1-9 表示增量备份。xfsdump 的备份级别默认为 0。

2.命令格式和常用选项
xfsdump -f 备份存放位置 要备份的路径或设备文件
    格式说明
    -f指定备份文件目录
    -L指定标签 session label
    -M指定设备标签 media label
    -s备份单个文件,-s 后面不能直接跟路径
    3.xfsdump使用限制
    1.只能备份已挂载的文件系统
    2.必须使用root的权限才能操作
    3.只能备份XFS文件系统
    4.备份后的数据只能让xfsrestore解析
    5.不能备份两个具有相同UUID的文件系统(可用 blkid命令查看)
    • 1
    • 2
    • 3
    • 4
    4.恢复文件操作步骤
    1、使用fdisk创建分区/dev/sdb1,格式化xfs文件系统
    fdisk /dev/sdb
    partprobe /dev/sdb   -重读分区表,磁盘查询不到时使用
    mkfs.xfs [-f] /dev/sdb1
    mkdir /data
    mount /dev/sdb1 /data/
    cd /data
    cp /etc/passwd ./
    mkdir test
    touch test/a
    
    2、使用 xfsdump 命令备份整个分区
    rpm -qa | grep xfsdump
    yum install -y xfsdump
    xfsdump -f /opt/dump_sdb1 /dev/sdb1 -L dump_sdb1 -M sdb1
    
    3、模拟数据丢失并使用 xfsrestore 命令恢复文件
    cd /data/
    rm -rf ./*
    ls
    
    xfsrestore -f /opt/dump_sdb1 /data/
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    三、Linux系统日志文件
    1.日志的功能

    ●用于记录系统、程序运行中发生的各种事件
    ●通过阅读日志,有助于诊断和解决系统故障

    2.日志文件的分类

    ●内核及系统日志
    由系统服务rsyslog统-进行管理,日志格式基本相似
    主配置文件/etc/rsyslog.conf

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

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

    ●日志保存位置默认位于: Ivar/log目录下

    3.常见的日志文件
    内核及公共消息日志:
    /var/10g/messages: 记录Li nux内核消息及各种应用程序的公共日志信息,包括启动、Io错误、网络错误、程序故障等。对于未使用独立白志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。
    
    #计划任务日志:
    /var/1og/cron: 记录crondit划任务产生的事件信息。
    
    #系统引导日志:
    /var/ log/dmesg:记录Linux 系统在引导过程中的各种事件信息。
    
    #邮件系统日志:
    /var/1og/maillog:记录进入或发出系统的电子邮件活动。
    
    #用户登录日志: 
    /var/1og/secure: 记录用户认证相关的安全事件信息。
    /var/1og/lastlog:记录每个用户最近的登录事件。二进制格式
    /var/1og/wtmp: 记录每个用户登录、注销及系统启动和停机事件。二进制格式
    /var/ run/btmp:记录失败的、错误的登录尝试及验证事件。二进制格式
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    vim /etc/ rsyslog. conf
    #查看rsyslog. conf配置文件
    * . info;mail . none; authpriv. none; cron. none / var/ 1og/messages
    
    *. info        #表示info等级及以上的所有等级的信息都写到对应的日志文件里
    mail . none    #表示某事件的信息不写到日志文件里( 这里比如是邮件)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    4.日志消息级别

    ●数字等级越小,优先级越高,消息越重要

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

    由相应的应用程序独立进行管理
    ●Web服务: Ivar/log/httpd/
    access_ log //记录客户访问事件
    error_ log //记录错误事件

    ●代理服务: Ivar/log/squid/
    access.log、cache.log

    ●分析工具
    文本查看、grep过滤检索、 Webmin管理套件中查看
    awk、sed等文本过滤、格式化编辑工具
    Webalizer、Awstats等专用 日志分析工具

    6.日志管理策略

    ●及时作好备份和归档
    延长日志保存期限
    控制日志访问权限
    日志中可能会包含各类敏感信息,如账户、口令等

    ●集中管理日志
    将服务器的日志文件发到统一的日志文件服务器
    便于日志信息的统-收集、整理和分析
    杜绝日志信息的意外丢失、恶意篡改或删除

    本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
    推荐阅读
    相关标签
      

    闽ICP备14008679号