Здравствуйте. Помогите укротить зверя, мануал на него слишком беден...
Clamfilter с постфиксом.
==========================================================================
Вот настройки (все как в мануале):
==========================================================================
smtp inet n - n - - smtpd -o content_filter=filter:dummy.....
.....filter unix - n n - - pipe
flags=R user=mail argv=/usr/bin/clamfilter -F root@mydomain.ru -f ${sender} -- ${recipient}
=========================================================================
Вот лог:
Jun 29 16:33:46 my postfix/cleanup[3240]: CC7C415D25: message-id=<20050629233327.CC7C415D25@my.mydomain.ru>
Jun 29 16:33:46 my postfix/qmgr[2603]: CC7C415D25: from=<me@my.mydomain.ru>, size=378, nrcpt=1 (queue active)
Jun 29 16:33:46 my clamfilter[3280]: check_file: child: cannot exec, return code -1
Jun 29 16:33:46 my clamfilter[3280]: message check failed, return code=75
Jun 29 16:33:46 my clamfilter[3279]: message check failed, return code=75
Jun 29 16:33:46 my postfix/pipe[3268]: CC7C415D25: to=<me@my.mydomain.ru>, relay=filter, delay=19, status=deferred (temporary failure)
Jun 29 16:33:48 muh postfix/smtpd[3239]: disconnect from my.localdomain[192.168.2.242]
=========================================================================Заранее благодарен.
Куда clamfilter сохраняет письмо? Пользователь mail имеет туда доступ на запись? Покажите содержимое и права на /usr/bin/clamfilter.
>Куда clamfilter сохраняет письмо? Пользователь mail имеет туда доступ на запись? Покажите
>содержимое и права на /usr/bin/clamfilter.Письма по идее сохраняются сюда (сохранялись до установки clamfilter):
1. /var/spool/mail
2. Права на нее drwxrwxrwt 2 root root 128 Jun 29 16:15 mail
3.На clamfilter в /usr/bin права: drwxr-xr-xClamAv 0.86 - свежий достаточно. Из сырья ставил. Там в настройках есть опция : сканить почту (Enable internal e-mail scanner.).
p.s. Может, clamfilter уже и не нужен?.. ClamAV сам все умеет....
>Куда clamfilter сохраняет письмо? Пользователь mail имеет туда доступ на запись? Покажите
>содержимое и права на /usr/bin/clamfilter.1. Письма падали в /var/spool/mail. Права на нее:
drwxrwxrwt 2 root root 128 Jun 29 16:15 mail
2. /usr/bin/clamfilter - для other r-x.И еще.
У меня clamav - 0.86. Там в опциях -
...
##
## Mail files
### Enable internal e-mail scanner.
# Default: enabled
#ScanMail
...Именно internal! Может, clamfilter - это теперь лишнее?..
Похоже речь идет об этом
http://www.ensita.net/products/clamfilter.html
Тогда смотрите исходный код, в каких случаях появляются такие сообщения. Проверьте пути к файлам
#define DELIVER "/usr/sbin/sendmail"
#define CLAMDSCAN "/usr/bin/clamdscan"
char temporalfile[] = "/tmp/clamfilter.XXXXXX";
clamd работает? Попробуйте запускать clamfilter с флагом -D (debug).
>#define DELIVER "/usr/sbin/sendmail"
Минуточку... какой sendmail - clamfilter с постфиксов по идее должен дружить (по крайней мере в доке так написано...).
Это раз. Во вторых, я ставил его из rpm, потому что сорс у меня не скомпилился (руганулся на параметр strcpy, в clamfilter.c).
Посоветуйте, пожалйста, досточную замену/
ls -l /usr/sbin/sendmail
/usr/sbin/sendmail -> /usr/sbin/sendmail.postfixman sendmail.postfix
NAME
sendmail - Postfix to Sendmail compatibility interface
...
sendmail у меня удален (переругались с Postfix) - какой смысл выстраивать какой-то мост между ним и постфиксом?p.s.Нашел куда валятся письма - в /tmp/clamfilter.XXXXXX.
Нашел исходник (он не компилируется, SuSE8.0 на 2.4.18). Версия совпадает с моей. В нем нет сообщения, которое сваливается в лог!
>sendmail у меня удален (переругались с Postfix) - какой смысл выстраивать какой-то
>мост между ним и постфиксом?
В postfix включен файл sendmail.postfix (sendmail - ссылка на него) для того, чтобы локальные программы, которые уже умеют работать с sendmail, могли отправлять почту без изменений.>p.s.Нашел куда валятся письма - в /tmp/clamfilter.XXXXXX.
См. выше, я писал это.> Нашел исходник (он не компилируется, SuSE8.0 на 2.4.18).
>Версия совпадает с моей. В нем нет сообщения, которое сваливается в
>лог!
А это что?
syslog(LOG_MAIL|LOG_ERR, "check_file: " \
"child: cannot exec, return code %d", res);
return(EX_TEMPFAIL);
...
syslog(LOG_MAIL|LOG_ERR, "message check " \
"failed, return code=%d", virusresult);
exit(virusresult);
Исправил!
Теперь message clean.
Надо потестить на зараженном сообщении теперь....
Но не ругается по крайней мере!Еще раз спасибо, с уважением,