千家信息网

SHELL 系统文件完整性校验

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,系统完整性审核工具shell脚本如下:#!/bin/bash## 变量首先声明才能使用shopt -s -o nounset# 声明# 建立日期Date=$(date +'%Y%m%d%H%M%S')
千家信息网最后更新 2024年11月27日SHELL 系统文件完整性校验

系统完整性审核工具

shell脚本如下:

#!/bin/bash## 变量首先声明才能使用shopt -s -o nounset# 声明# 建立日期Date=$(date +'%Y%m%d%H%M%S')# 加入审核的目录         #Dirs="/bin /sbin /usr/bin /usr/sbin /lib /usr/local/sbin /usr/local/bin /usr/local/lib"# 临时文件               #TMP_file=$(mktemp /tmp/check.XXXXXX)# 文件checksum存储文件FP="/root/fp.$Date.chksum"# 使用哪种checksum工具Checker="/usr/bin/md5sum"Find="/usr/bin/find"# 函数区                #scan_file() {        local f        for f in $Dirs        do                $Find $f -type f >> $TMP_file        done}# 读取文件建立每个文件的checksum值cr_checksum_list() {        local f        if [ -f $TMP_file ]; then                for f in $(cat $TMP_file);                        do                                $Checker $f >> $FP                done        fi}rmTMP() {        [ -f $TMP_file ] && rm -rf $TMP_file}# 主程序区# 扫描列表scan_file# 建立文件的checksum值cr_checksum_list# 清理临时文件rmTMP

脚本执行:

[root@node3 ~]# sh my_filecheck.sh

进行校验:

md5sum  -c fp.20141205160628.chksum

如果一切OK,都会显示OK的字样,如果有问题,就报相应的错误,如下:

[root@node3 ~]# md5sum  -c fp.20141205160628.chksum  | grep -v "OK"md5sum: /usr/bin/chattr: No such file or directory/usr/bin/chattr: FAILED open or readmd5sum: WARNING: 1 of 8267 listed files could not be read
0