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
#结合定时任务使用即可.