Linux文件属性+aide

Linux 文件属性

1. inode&block

1.1 inode

  • index node 索引节点,类似于书籍的目录,默认是256bite
  • inode号码:
    系统可以通过文件名找出文件的inode号码,进而找出文件与文件内容
    ls -lhi 查看文件的inode号码(较少使用)
  • inode包含:
    文件属性信息(文件类型,大小,权限,所有者,用户组,时间,硬链接数...)
    block的位置

1.2 block

  • block 块,数据块.存放数据实体(数据).
  • 文件名.
  • block大小默认是4k.
  • 查看文件和目录所占的block(文件或目录大小).

案例

df (disk info) 磁盘分区使用情况
du (dir usage)目录

1.查看/etc/services文件大小 ⭐ ⭐ ⭐ ⭐ ⭐
ls -lh /etc/services

2.查看目录大小⭐ ⭐ ⭐ ⭐ ⭐
du -sh /etc/   # -s只看汇总信息,不看每个目录大小.

3.查看根下所有目录大小
du -sh /*

4.查看磁盘中block总数,剩余,可用.block使用情况就是系统磁盘空间使用情况.
df -h   # block平常意义的磁盘空间.

5:查看磁盘中inode总数,剩余,可用.
df -i

6.过滤出根分区的总大小
df -h命令 | 过滤出根的行 |取列
df -h |grep -w '/'|awk '{print $2}'

inode与block关系

2. 文件类型

2.1 扩展名

# Windows下面通过不同的扩展名区分文件类型. .txt文本文件 .avi视频文件
# Linux下面的扩展名仅仅是给我们看的. 推荐加上.
.sh .bash    # 脚本文件
.py    # python脚本
.conf .cfg .config .yml .xml    # 配置文件
.txt    # 文件

2.2 文件类型

file文件                # 普通文件,数据文件,二进制文件
directory               # 目录
link #                  # 软连接
b (block)块设备          # 一般指的磁盘,光盘. /dev/ 设备目录 /dev/sda
c (character)字符设备    # 有特定用处.未来使用/dev/null /dev/zero
...

文件

文件分类         说明
文本文件         text 主机名,网卡配置文件,创建文件 cat/vim
二进制文件bin     命令 /bin/ /sbin/
数据文件         data 数据文件,需要用专用命令查看.

etc.tar.gz #压缩包 数据文件 data 需要用专用命令查看
/bin/ls #二进制文件,命令. 运行 exec

file命令查看详细类型.
补充与扩展:其他文件类型
man find搜索-type可以找到

3. 硬链接&软链接

3.1 软链接⭐⭐⭐⭐⭐

软连接: 相当于是windows里面的快捷方式
软连接(符号链接):指向源文件的位置.

案例

1.给1.txt文件创建软连接叫1.txt.ln
查看系统默认的软连接
ln -s 源文件 软连接
soft link 软连接
symbolic link 符号连接

2.查看系统默认的软连接
ll /etc/rc.local
第1次使用要增加执行权限.
chmod +x /etc/rc.d/rc.local

ll /bin /sbin

# 软连接使用频率较高.使用时推荐使用绝对路径

3.2 硬链接

在同一个磁盘分区中inode号码相同的文件,互为硬链接.
硬链接只能给文件创建,指向文件内容.

创建硬链接
ln 文件名 硬链接名

软硬来链接区别

4. 时间

时间                说明
修改时间mtime       modify 修改时间,文件内容改变了时间就会变化.
改变时间ctime       change 文件属性改变时间,文件大小,权限,所有者,硬链接数变化.
访问时间atime       access 访问时间,只要查看下文件这个时间就改变. 一般mtime变化后atime才会改变.
文件创建时间btime   birth 文件目录创建的时间

# vim 修改文件后创建时间会更新,vim编辑保存后会将swap临时文件重名为正在编辑的文件。
stat

5. side(安全检查工具)

  • 系统指定目录的检查与监控.
  • 指定目录下面文件内容,变化,文件属性变化.
  • aide原理:初始信息与当前信息

安装aide

[root@Kylin-V10-sp3 ~/test]# yum install -y aide aide-help
Last metadata expiration check: 0:39:45 ago on Tue Aug 27 14:49:41 2024.
Dependencies resolved.
===========================================================================================================================================================================
 Package                                 Architecture                         Version                                      Repository                                 Size
===========================================================================================================================================================================
Installing:
 aide                                    x86_64                               0.16.2-3.ky10                                ks10-adv-os                               121 k
 aide-help                               noarch                               0.16.2-3.ky10                                ks10-adv-os                                28 k

Transaction Summary
===========================================================================================================================================================================
Install  2 Packages

Total download size: 149 k
Installed size: 358 k
Downloading Packages:
(1/2): aide-help-0.16.2-3.ky10.noarch.rpm                                                                                                   88 kB/s |  28 kB     00:00    
(2/2): aide-0.16.2-3.ky10.x86_64.rpm                                                                                                       280 kB/s | 121 kB     00:00    
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                      343 kB/s | 149 kB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                   1/1 
  Installing       : aide-help-0.16.2-3.ky10.noarch                                                                                                                    1/2 
  Running scriptlet: aide-0.16.2-3.ky10.x86_64                                                                                                                         2/2 
  Installing       : aide-0.16.2-3.ky10.x86_64                                                                                                                         2/2 
  Running scriptlet: aide-0.16.2-3.ky10.x86_64                                                                                                                         2/2 
  Verifying        : aide-0.16.2-3.ky10.x86_64                                                                                                                         1/2 
  Verifying        : aide-help-0.16.2-3.ky10.noarch                                                                                                                    2/2 

Installed:
  aide-0.16.2-3.ky10.x86_64                                                         aide-help-0.16.2-3.ky10.noarch                                                        

Complete!
[root@Kylin-V10-sp3 ~/test]#

aide配置文件构成

# /etc/aide.conf
# 2大部分:
第1部分用于定义格式(监控哪些指标md5,sha256,属性信息指标)
第2部分用于指定监控哪些文件或目录+格式

监控格式定义

# These are the default rules.
#
p: permissions 权限
i: inode: inode
n: number of links 硬链接数
u: user 用户
g: group 用户组
s: size 大小
b: block count block数量
m: mtime 修改时间
a: atime 访问时间
c: ctime 文件属性变化时间
S: check for growing size 有内容的增加,大小增加
#acl: Access Control Lists
#selinux SELinux security context
#xattrs: Extended file attributes

可用的校验方式(对文件内容进行计算,生成哈希值) 检查文件内容是否变化
md5: md5 checksum
sha1: sha1 checksum
sha256: sha256 checksum sha256校验
sha512: sha512 checksum
rmd160: rmd160 checksum
tiger: tiger checksum
系统定义了一些集合(监控指标的集合)
FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
NORMAL = sha256

修改/etc/aide.conf 把47行之后内容删除,并写入如下内容。(指定监控的文件或目录)

#1.命令监控
/bin/ FIPSR
/sbin/ FIPSR
/usr/local/bin/ FIPSR
/usr/local/sbin/ FIPSR
#2.配置文件
/etc/ FIPSR
#3.代码
#/app/code/ NORMAL

aide使用

#第1次使用需要初始化
aide --init
#改名
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
#检查
aide --check   # 修改对应目录下文件后能检查到和之前不一样

[root@Kylin-V10-sp3 /var/lib/aide]# aide --check
Start timestamp: 2024-08-27 15:53:49 +0800 (AIDE 0.16.2)
AIDE found differences between database and filesystem!!

Summary:
  Total number of entries:	3320    # 3320个文件
  Added entries:		0
  Removed entries:		0
  Changed entries:		2           # 2个有变动

---------------------------------------------------
Changed entries:
---------------------------------------------------

f > ... mci.C..  : /etc/aide.conf        
f = ... mc.....  : /etc/localtime_tmp

---------------------------------------------------
Detailed information about changes:


#配置或代码升级或更新后,需要一份新的参考包,执行以下操作
aide --update
/bin/mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
#结合定时任务使用即可.
posted @ 2024-08-29 19:23  老虎死了还有狼  阅读(31)  评论(0编辑  收藏  举报