SHELL 系統文件完整性校驗

系統完整性審覈工具
node

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

腳本執行:bash

[root@node3 ~]# sh my_filecheck.sh

進行校驗:ide

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 read
md5sum: WARNING: 1 of 8267 listed files could not be read
相關文章
相關標籤/搜索