国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統(tǒng) > 正文

利用SHELL腳本實現(xiàn)文件完整性檢測程序(1.2版更新)

2024-06-28 13:25:20
字體:
供稿:網(wǎng)友
利用SHELL腳本實現(xiàn)文件完整性檢測程序(1.2版更新)

一.、開發(fā)背景

因時勢所逼,需要對服務器的文件系統(tǒng)實行監(jiān)控。雖然linux下有不少入侵檢測和防竄改系統(tǒng),但都比較麻煩,用起來也不是很稱手。自己琢磨著也不需要什么多復雜的功能,寫個腳本應該就可以滿足基本需求。于是整理了一下思路,編寫了一個簡單的文件完整性檢測程序。

二、實現(xiàn)功能

1、能監(jiān)測多個不同目錄中文件的增刪改變化。

2、允許監(jiān)測的特定類型文件,并可根據(jù)具體情況設定是否需要生成摘要等。

3、對于變動的文件,新增或修改的可以生成摘要。刪除的文件要有日志記錄。

4、當監(jiān)測到文件發(fā)生變動時,能生成簡報以郵件方式提醒管理員。

三、設計思路

建立監(jiān)測項配置文件,將需檢測的目錄路徑以及相關設置記錄在文件中。利用crontab定時執(zhí)行腳本,第一次運行時按配置文件加載檢測項,通過find命令獲取文件列表,利用md5sum為符合條件的文件生成hash值,并保存到文件中做為以后校驗的基準數(shù)據(jù)。腳本在以后的運行中,首先會將待測目錄中符合條件的文件列出,并于基準數(shù)據(jù)中的文件進行比對,以發(fā)現(xiàn)新增文件。再利用md5sum檢測目錄中文件是否有被修改或刪除。對修改或新增文件生成摘要,將檢測結(jié)果生成簡報存入日志文件,并將簡報發(fā)送到指定郵箱。

四、監(jiān)測項配置文件說明

配置文件每一行為一個檢測目錄項,配置項之間以逗號分隔,配置定義如下:

<待查目錄>,<過濾條件>,<檢測類型>

1、待查目錄

需檢測的目錄完整路徑,例如:/var/test

2、過濾條件

寫在此處的內(nèi)容會做為find命令中的查詢條件,以過濾特定文件。例如:-name '*.txt' -type f

過濾條件字串中不要使用雙引號。

3、檢測類型

取值為0或1。

0:發(fā)現(xiàn)變更僅記錄文件名不做摘要;(一般針對二進制文件檢測)

1:發(fā)現(xiàn)變更則做摘要

五、程序運行方式

腳本可以通過crontab定時執(zhí)行。同時為了方便日常工作,腳本支持參數(shù)運行。具體參數(shù)及用途如下:

-c 清空日志-i 生成掃描項的驗證碼文件,做為原始校驗范本。(一般用于文件正常變更后,管理員手動重新生成基準檢驗文件)-s 生成所有掃描項的摘要文件。(一般用于初次生成HASH值之前,生成所有符合文件摘要,供管理員做檢測)

六、題外話

1、本人才疏,原打算將所有find的過濾條件做為一個字串傳給find執(zhí)行,比如“ -name "*.txt" -type f ”。但實際運行時總是報錯,不得已只能將-name的具體參數(shù)傳入,請參看具體代碼:$FindCmd $Search -name "$Arg"。如果有更好解決辦法,請一定告之,謝謝?。?.2版已解決)

2、生成摘要的方式可以根據(jù)實際情況自行修改。

3、可以根據(jù)具體情況,自己擴展程序?qū)崿F(xiàn)對變更文件做進一步檢測的功能。

七、更新記錄

2014.7.31  Ver 1.2 更新檢索過濾條件處理方式,可以直接將find命令的參數(shù)寫進配置文件中,比如“ -name '*.txt' -type f ”。

2014.7.25  Ver 1.1 更新郵件發(fā)送機制,修改舊版本中每組掃描項異常結(jié)果分別發(fā)送的方式,將多個掃描項結(jié)果匯總后發(fā)送。

2014.7.14  Ver 1.0

完整代碼點此下載


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 永泰县| 通州市| 横峰县| 淮安市| 济阳县| 霍州市| 石台县| 绥中县| 古浪县| 汨罗市| 六盘水市| 固阳县| 普陀区| 鄂伦春自治旗| 长沙县| 和田市| 南郑县| 图木舒克市| 四会市| 灵璧县| 卓资县| 海门市| 驻马店市| 抚州市| 佛教| 应城市| 高雄市| 蛟河市| 天门市| 娄底市| 营山县| 隆昌县| 灌阳县| 田东县| 章丘市| 博野县| 潼南县| 平凉市| 三河市| 南阳市| 旬阳县|