afick: another file integrity checker Files 是檔案檢查工具,可監控是否有檔案被異動。
install
afick 試用 perl 開發的,故安裝前要先安裝 perl
dnf -y intall perl
根據 [install 文件](afick installation) 的說明,可以到 another file integrity checker - Browse /afick/3.8.0 at SourceForge.net 下載套件或 source code。
Rocky Linux 安裝方式,是安裝 rpm file
rpm -ivh afick-3.8.0-1.noarch.rpm
也可以直接從 source code 編譯安裝。參考 source code 裡面的 INSTALL 文件的說明,編譯安裝步驟為
tar xvfz afick*.tgz
cd afick*
perl Makefile.pl
make install
如果要直接安裝成 service,就改為以下步驟。會有一個 cronjob 放在 /etc/cron.daily 目錄
tar xvfz afick*.tgz
cd afick*
perl Makefile.pl Makefile_sys.in
make install
設定
設定檔在 /etc/afick.conf,在設定檔最後面加上要監控的目錄,例如
/var/www/html DIR
使用
# 初始化 afick
afick -c /etc/afick.conf -init
# 監控並檢查檔案
afick -c /etc/afick.conf -k
# 檢查檔案並更新資料庫
afick -c afick.conf --update
在執行初始化時,花了不少時間,25 萬個檔案,大約用了 10 分鐘
afick -c /etc/afick.conf -init
# #################################################################
# MD5 hash of /var/lib/afick/afick => LXVxgXA/BosPirqMhDpowg
# Hash database created successfully. 251267 files entered.
# user time : 88.79; system time : 32.05; real time : 625
修改兩個檔案內容後,測試檢查檔案。
檢查時也將 afick.conf 納入檢查範圍。因預設 exclude_suffix 把 html, htm 排除了,所以用 css file 測試。
afick -c /etc/afick.conf -k
# archive:=/var/lib/afick/archive
# database:=/var/lib/afick/afick
# exclude_suffix:=log LOG html htm HTM txt TXT xml hlp pod chm tmp old bak fon ttf TTF bmp BMP jpg JPG gif png ico wav WAV mp3 avi pyc
# history:=/var/lib/afick/history
# max_checksum_size:=10000000
# running_files:=1
# timing:=1
# dbm:=Storable
# last run on 2024/08/12 10:17:35 with afick version 3.8.0
WARNING: (control) afick internal change : /etc/afick.conf (see below)
# summary changes
deleted directory : /
number of deleted files : 1
changed file : /etc/afick.conf
changed file : /var/www/html/index.css
# detailed changes
deleted directory : /
parent_date : Thu Aug 1 14:23:12 2024
number of deleted files : 1
changed file : /etc/afick.conf
md5 : 877b96dc1be6083fd4589a96a2767006 f604ce2893a4bda0750b6564c84020b9
filesize : 7268 7269
changed file : /var/www/html/index.css
inode : 402693690 402705600
# #################################################################
# MD5 hash of /var/lib/afick/afick => ddgOifAlUpJfbRakzwY9tQ
# Hash database : 251265 files scanned, 4 changed (new : 0; delete : 2; changed : 2; dangling : 16; exclude_suffix : 26665; exclude_prefix : 0; exclude_re : 0; masked : 0; degraded : 244)
# user time : 104.85; system time : 20.72; real time : 383
afick_cron
在 /etc/cron.daily/afick_cron 裡面,ACTION 參數決定,cronjob 檢查檔案後,是否要更新資料庫
# the default action is "update" (-u), you can also use "compare" (-k)
ACTION="-u"
沒有留言:
張貼留言