文章会有【原创】或者【转载】标示,部分来自Google Baidu的学习结果 {Java/PHP/Python/Ruby/Go}

Linux程式设计-11.ShellScript(bash)--(4)档案系统检查  


系统安全一向是大多数电脑用户关心的事,在UNIX系统中,最重视的事,即系统中有没有"木马"(Trojanhorse)。不管Trojanhorse如何放进来的,有一点始终会不变,即被放置木马的档案,其档案日期一定会被改变,甚至会有其它的状态改变。此外,许多状况下,系统会多出一些不知名的档案。因此,平日检查整个档案系统的状态是否有被改变,将所有状态有改变的档案,以及目前有那些程式正在执行,自动报告给系统管理员,是个避免坐上"木马"的良方。

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

#!/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:$HOSTNAMEfilesystemcheck">/tmp/today.mail
echo"From:$FROM">>/tmp/today.mail
echo"To:$ADMIN">>/tmp/today.mail
echo"Thisisfilesystemreportcomesfrom$HOSTNAME">>/tmp/today.mail
#报告目前正在执行的程式
psaxf>>/tmp/today.mail
#档案系统检查
echo"FileSystemCheck">>/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
然後把它放到一个不显眼的地方去,让别人找不到。

把它加入crontab中。

307***/full_check_script_path/whatever_you_name_it1>/dev/null2>/dev/null#上班前检查

有些档案是固定会更动的,像/var/log/messages、/var/log/syslog、/dev/ttyX等等,不要太大惊小怪。