標籤: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
指令碼執行:
[[email protected] ~]# sh my_filecheck.sh
進行校正:
md5sum -c fp.20141205160628.chksum
如果一切OK,都會顯示OK的字樣,如果有問題,就報相應的錯誤,如下:
[[email protected] ~]# 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
本文出自 “Sword Slave” 部落格,請務必保留此出處http://diudiu.blog.51cto.com/6371183/1586734
SHELL 系統檔案完整性校正