>прошу прощение)
>а можно глянуть из интереса
>/usr/local/av/myfilter.sh Можно, почему бы и нет...
#!/bin/sh
INSPECT_DIR=/tmp #лБФБМПЗ ЛХДБ ВХДХФ УПИТБОСФШУС РЙУШНБ ДМС УЛБОЙТПЧБОЙС
SENDMAIL="/usr/local/sbin/sendmail -i"
VIRUSADMIN="milukov@ssl.stu.neva.ru" # БДТЕУ ДМС ХЧЕДПНМЕОЙЙК
EX_TEMPFAIL=75
EX_UNAVAILABLE=69
# УФТПЛБ ДМС ЪБРХУЛБ spamassassin
FILTER_SPAMC="/usr/local/bin/spamc -u _spamd -U /var/empty/spamd.sock"
trap "rm -f $INSPECT_DIR/in.$$ $INSPECT_DIR/vr.$$ $INSPECT_DIR/vr1.$$" 0 1 2 3 15
# рТПЧЕТЛБ ОБ УРБН
cat | $FILTER_SPAMC > $INSPECT_DIR/in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }
if [ "$4" == "mailcopy@ssl.stu.neva.ru" ] ; then
MAIL_PATH="/home/sam/mail"
cat $MAIL_PATH/mail_index | awk '{print $1+1}' >$MAIL_PATH/mail_index
NAME=`cat $MAIL_PATH/mail_index`
mv $INSPECT_DIR/in.$$ $MAIL_PATH/$NAME.eml
chmod 666 $MAIL_PATH/$NAME.eml
exit 0
fi
# рТПЧЕТЛБ ОБ ЧЙТХУЩ
/usr/local/bin/clamscan -v -r --no-summary --stdout ${INSPECT_DIR}/in.$$>$INSPECT_DIR/vr.$$
# тЕЪХМШФБФ РТПЧЕТЛЙ
AV_RESULT=$?
case "$AV_RESULT" in
0)
# рТПЧЕТЕОП. нЙО ОЕФ :)
$SENDMAIL "$@" <${INSPECT_DIR}/in.$$
exit 0
;;
1)
# пВОБТХЦЕО ЧЙТХУ. рПУЩМБЕН ХЧЕДПНМЕОЙЕ БДНЙОХ
echo "Subject: VIRUS FOUND" >> $INSPECT_DIR/vr1.$$
echo >> $INSPECT_DIR/vr1.$$
echo "************************************************" >> $INSPECT_DIR/vr1.$$
echo "* MAIL *" >> $INSPECT_DIR/vr1.$$
echo "************************************************" >> $INSPECT_DIR/vr1.$$
echo >> $INSPECT_DIR/vr1.$$
# чЛМАЮБЕН Ч ПФЮЕФ ТЕБМШОЩЕ БДТЕУБ ТЕМЕЕЧ
grep Received $INSPECT_DIR/in.$$ >> $INSPECT_DIR/vr1.$$
echo "Mail from: $2 (may be forget)" >> $INSPECT_DIR/vr1.$$
echo "To: $4" >> $INSPECT_DIR/vr1.$$
grep Subject $INSPECT_DIR/in.$$ >> $INSPECT_DIR/vr1.$$
echo >> $INSPECT_DIR/vr1.$$
echo "************************************************" >> $INSPECT_DIR/vr1.$$
echo "* Virus(es) *" >> $INSPECT_DIR/vr1.$$
echo "************************************************" >> $INSPECT_DIR/vr1.$$
# чЛМАЮБЕН Ч ПФЮЕФ УРЙУПЛ ЧЙТХУПЧ
cat $INSPECT_DIR/vr.$$ >> $INSPECT_DIR/vr1.$$
$SENDMAIL -f $VIRUSADMIN -r $VIRUSADMIN -F "Antivirus" $VIRUSADMIN < $INSPECT_DIR/vr1.$$
exit 0
;;
*)
# рТПЙЪПЫМБ ПЫЙВЛБ Ч ТБВПФЕ БОФЙЧЙТХУБ. уППВЭЙН ПВ ПЫЙВЛЕ БДНЙОХ
echo "Subject: ANTIVIRUS FAILED" >> $INSPECT_DIR/vr1.$$
echo >> $INSPECT_DIR/vr1.$$
echo "************************************************" >> $INSPECT_DIR/vr1.$$
echo "* Antivirus Failed with next problem *" >> $INSPECT_DIR/vr1.$$
echo "************************************************" >> $INSPECT_DIR/vr1.$$
case "$AV_RESULT" in
40)
echo "* Unknown option passed. *" >> $INSPECT_DIR/vr1.$$
;;
50)
echo "* Database initialization error. *" >> $INSPECT_DIR/vr1.$$
;;
52)
echo "* Not supported file type. *" >> $INSPECT_DIR/vr1.$$
;;
53)
echo "* Can't open directory. *" >> $INSPECT_DIR/vr1.$$
;;
54)
echo "* Can't open file. (ofm) *" >> $INSPECT_DIR/vr1.$$
;;
55)
echo "* Error reading file. (ofm) *" >> $INSPECT_DIR/vr1.$$
;;
56)
echo "* Can't stat input file / directory. *" >> $INSPECT_DIR/vr1.$$
;;
57)
echo "* Can't get absolute path name of current *" >> $INSPECT_DIR/vr1.$$
echo "* working directory. *" >> $INSPECT_DIR/vr1.$$
;;
58)
echo "* I/O error, please check your filesystem. *" >> $INSPECT_DIR/vr1.$$
;;
59)
echo "* Can't get information about current user *" >> $INSPECT_DIR/vr1.$$
echo "* from /etc/passwd. *" >> $INSPECT_DIR/vr1.$$
;;
60)
echo "* Can't get information about user *" >> $INSPECT_DIR/vr1.$$
echo "* clamav (default name) from /etc/passwd. *" >> $INSPECT_DIR/vr1.$$
;;
61)
echo "* Can't fork. *" >> $INSPECT_DIR/vr1.$$
;;
63)
echo "* Can't create temporary files/directories *" >> $INSPECT_DIR/vr1.$$
echo "* (check permissions). *" >> $INSPECT_DIR/vr1.$$
;;
64)
echo "* Can't write to temporary directory (please *" >> $INSPECT_DIR/vr1.$$
echo "* specify another one). *" >> $INSPECT_DIR/vr1.$$
;;
70)
echo "* Can't allocate and clear memory (calloc). *" >> $INSPECT_DIR/vr1.$$
;;
71)
echo "* Can't allocate memory (malloc). *" >> $INSPECT_DIR/vr1.$$
;;
*)
echo "Unknown error $AV_RESULT" >> $INSPECT_DIR/vr1.$$
;;
esac
echo "************************************************" >> $INSPECT_DIR/vr1.$$
$SENDMAIL -f $VIRADMIN -r $VIRADMIN -F "Antivirus" "$VIRADMIN" < $INSPECT_DIR/vr1.$$
exit $EX_TEMPFAIL
;;
esac
exit 0