溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何用shell腳本實(shí)現(xiàn)linux系統(tǒng)文件完整性檢測(cè)

發(fā)布時(shí)間:2021-09-28 15:43:18 來源:億速云 閱讀:159 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“如何用shell腳本實(shí)現(xiàn)linux系統(tǒng)文件完整性檢測(cè)”,在日常操作中,相信很多人在如何用shell腳本實(shí)現(xiàn)linux系統(tǒng)文件完整性檢測(cè)問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”如何用shell腳本實(shí)現(xiàn)linux系統(tǒng)文件完整性檢測(cè)”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!


腳本內(nèi)容:

代碼如下:

cat my_filecheck.sh
#!/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"
 
# 臨時(shí)文件               #
 
TMP_file=$(mktemp /tmp/check.XXXXXX)
 
# 文件checksum存儲(chǔ)文件
FP="/root/fp.$Date.chksum"
 
# 使用哪種checksum工具
Checker="/usr/bin/md5sum"
Find="/usr/bin/find"
 
# 函數(shù)區(qū)                #
 
scan_file() {
        local f
        for f in $Dirs
        do
                $Find $f -type f >> $TMP_file
        done
}
 
# 讀取文件建立每個(gè)文件的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
}
 
 
# 主程序區(qū)
 
 
# 掃描列表
scan_file
 
# 建立文件的checksum值
cr_checksum_list
 
# 清理臨時(shí)文件
rmTMP

執(zhí)行腳本:

代碼如下:

./my_filecheck.sh


進(jìn)行校驗(yàn):

代碼如下:

md5sum  -c fp.20141205160628.chksum

代碼如下:

md5sum -c fp.20141209202544.chksum
/bin/gawk: OK
/bin/igawk: OK
/bin/ln: OK
/bin/loadkeys: OK
/bin/gzip: OK
/bin/mkdir: OK
/bin/date: OK
/bin/cat: OK
/bin/mountpoint: OK
/bin/taskset: OK
/bin/umount: OK
/bin/mount: OK
/bin/doexec: OK
/bin/kill: OK
/bin/sync: OK
/bin/unicode_start: OK
/bin/usleep: OK
/bin/mknod: OK
/bin/setserial: OK
/bin/cp: OK
/bin/mktemp: OK
/bin/setfont: OK
/bin/unicode_stop: OK
.....
/lib/modules/2.6.18-194.el5PAE/kernel/crypto/cast5.ko: OK
/lib/modules/2.6.18-194.el5PAE/kernel/crypto/crypto_blkcipher.ko: OK
/lib/modules/2.6.18-194.el5PAE/kernel/crypto/twofish.ko: OK
/lib/modules/2.6.18-194.el5PAE/kernel/crypto/authenc.ko: OK
/lib/modules/2.6.18-194.el5PAE/kernel/crypto/cbc.ko: OK
/lib/modules/2.6.18-194.el5PAE/kernel/crypto/crypto_hash.ko: OK
/lib/modules/2.6.18-194.el5PAE/kernel/crypto/seqiv.ko: OK
/lib/libproc-3.2.7.so: OK
/lib/libacl.so.1.1.0: OK
/lib/libauparse.so.0.0.0: OK
/lib/libdmraid.so.1.0.0.rc13-17: OK
/lib/libvolume_id.so.0.66.0: OK
/lib/libgobject-2.0.so.0.1200.3: OK
/lib/libnss_compat-2.5.so: OK
/lib/rtkaio/i686/nosegneg/librtkaio-2.5.so: OK
/lib/rtkaio/librtkaio-2.5.so: OK
/lib/libdmraid-events-isw.so.1.0.0.rc13: OK
/lib/libdevmapper-event-lvm2snapshot.so.2.02: OK
/lib/libblkid.so.1.0: OK
/lib/libdb-4.3.so: OK
/lib/libSegFault.so: OK
/lib/libiw.so.28: OK
/lib/libdmraid-events-isw.so.1.0.0.rc13-17: OK


可以看到很多OK.

如果只想看到錯(cuò)誤的話,可以用下面這個(gè)命令:

代碼如下:

md5sum -c fp.20141209202544.chksum |grep -v "OK"

到此,關(guān)于“如何用shell腳本實(shí)現(xiàn)linux系統(tǒng)文件完整性檢測(cè)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI