1. Więcej o Demonietutaj). To jest testowa i nie dopracowana wersja programu.
Nie używaj jej na serwerach produkcyjnych. 2. zakładam że mks_d jest już uruchomiony i przetestowany ;-)
# /etc/rc.d/init.d/mksd start
Starting Mks_deamon service............................[ DONE ]
# su - dowolny_user
$ /usr/local/bin/mks_c eicar.com
$ echo $?
1

3. Reszta opiera się na podstawie tekstu Adama Wojtkiewicza, żeby skożystać z zalety demona (czyli nie ładowania baz przy każdym mailu) wystarczy skrypt zaproponowany mksmailscan zmienić (zakomentwałem zmienioną linijkę) oraz oczywiście skonfigurować resztę (exima) jak radzi.
Aha coś w stylu # echo 'Uwaga znalazlem wirusa/ Warnning I've found a virus' > /etc/mta/wirus_warning będzie krokiem w dobrą stronę.
#!/bin/sh
umask 0600
sender=$1
recipient=$2
if ["$1" == ""]; then
	sender="<>"
fi
#/usr/local/bin/mks32 -e | /usr/sbin/exim -oMr scanned-ok -i -f $sender $recipient
#Tu się zaczyna mója twórczość: 
# uwaga katalog /tmp jest dość ryzykownym miejscem na trzymanie zawartości
# poczty użytkowników, dużo lepiej jest zrobić sobie jakiś /home/mta/ i 
# nadać mu odpowiednie uprawnienia.

WARN_MSG=/etc/mta/wirus_warning

TMPFILE=`/usr/bin/mktemp -q /tmp/$0.XXXXXX`
if [ $? -ne 0 ]; then
      echo "$0: Can't create temp file, exiting..."
      exit 1
fi

TMPFILESEC=`/usr/bin/mktemp -q /tmp/$0.XXXXXX`
if [ $? -ne 0 ]; then
      echo "$0: Can't create temp file, exiting..."
      exit 1
fi

cat - > $TMPFILE
/usr/local/bin/mks_c $TMPFILE > $TMPFILE 
status=$?

if [ $status ge 128]; then
    echo "$0: mksd returned error code !!! forwarding mail as-is. "
    cat $TMPFILE | /usr/sbin/exim -oMr scanned-ok -i -f $sender $recipient
    logger -p mail.warn mks_c $status
    exit 2
fi
    
if [ $status eq 0 ]; then
	cat $TMPFILE | /usr/sbin/exim -oMr scanned-ok -i -f $sender $recipient
else
    cat $WARN_MSG $TMPFILESEC | mail $sender -s "wirusik w mailu DO $recipient" -c postmaster 
    cat $WARN_MSG $TMPFILESEC | mail $recipient -s "wirusik w mailu OD $sender" # zakomentowanie tej linii może zaoszczędzić wielu pytań od ździwionych użytkownkików: (:- to mamy jakiś skaner??? -:)
    logger -p mail.info wirus $sender $recipient $(cat $TMPFILESEC)
fi

Standardowy Disclaimer:
Prawa autorskie należą do Krzysztofa Drewicza. Dokument ten jest rozpowszechniany na podstawie GPL (Gnu Public License). Aby otrzymać kopię tej licencji napisz do Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Znaki towarowe należą do ich właścicieli. Nie ma żadnych gwarancji co do dokładności czy przydatności informacji zawartych w tym dokumencie. Choć opisane czynności nie powinny zaszkodzić systemowi nie ponoszę żadnej odpowiedzialności za ich efekty.

Wersja z Fri Feb 22 22:09:35 CET 2002 $Id: exim.html,v 1.1.1.1 2002/08/04 18:49:44 hunter Exp $