[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 編程技術 > Shell > 正文
Linux程式設計-11.Shell Script(bash)--(4)檔案系統檢查
http://www.openchess.org/noitatsko/programming/ (2001-05-25 11:00:00)
系統安全一向是大多數電腦用戶關心的事,在UNIX系統中,最重視的事,即系統中有沒有"木馬"(Trojan horse)。不管Trojan horse如何放進來的,有一點始終會不變,即被放置木馬的檔案,其檔案日期一定會被改變,甚至會有其它的狀態改變。此外,許多狀況下,系統會多出一些不知名的檔案。因此,平日檢查整個檔案系統的狀態是否有被改變,將所有狀態有改變的檔案,以及目前有那些程式正在執行,自動報告給系統管理員,是個避免坐上"木馬"的良方。 

--------------------------------------------------------------------------------

#!/bin/sh 
# Filename : whatever_you_name_it 
DIRS="/etc /home /bin /sbin /usr/bin /usr/sbin /usr/local /var /your_directory" 
ADMIN="email@your.domain.com" 
FROM="admin@your.domain.com" 
# 寫入Sendmail的標頭 
echo "Subject: $HOSTNAME filesystem check" > /tmp/today.mail 
echo "From: $FROM" >> /tmp/today.mail 
echo "To: $ADMIN" >> /tmp/today.mail 
echo "This is filesystem report comes from $HOSTNAME" >> /tmp/today.mail 
# 報告目前正在執行的程式 
ps axf >> /tmp/today.mail 
# 檔案系統檢查 
echo "File System Check" >> /tmp/today.mail 
ls -alR $DIRS | gzip -9 > /tmp/today.gz 
zdiff /tmp/today.gz /tmp/yesterday.gz >> /tmp/today.mail 
mv -f /tmp/today.gz /tmp/yesterday.gz 
# 寄出信件 
sendmail -t < /tmp/today.mail 

然後把它放到一個不顯眼的地方去,讓別人找不到。 

把它加入crontab中。 

30 7 * * *  /full_check_script_path/whatever_you_name_it 1> /dev/null 2> /dev/null #上班前檢查 

有些檔案是固定會更動的,像/var/log/messages、/var/log/syslog、/dev/ttyX等等,不要太大驚小怪。 
(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
Linux程式設計-31.工作群資訊管理(grp) (2001-05-27 22:08:00)
Linux程式設計-30.使用者資訊管理(pwd) (2001-05-27 21:04:00)
Linux程式設計-29.時間處理 (2001-05-27 20:10:01)
Linux程式設計-28.GNU Make (2001-05-27 19:00:00)
Linux程式設計-27.GNU Debugger (2001-05-27 18:08:01)
Linux程式設計-26.PIPE (2001-05-27 17:04:00)
Linux程式設計-25.Message Queues (2001-05-27 16:10:00)
Linux程式設計-24.Semaphores (2001-05-27 15:00:00)
Linux程式設計-23.共享記憶體(Shared Memory) (2001-05-27 14:08:00)
Linux程式設計-20.getopt (2001-05-27 13:04:00)

===更多相關===
 

★  樊強制作 歡迎分享  ★