Опубликовано сентября 28, 2007. Автор Dmitriy Lyalyuev
Прикрутил вот к своему почтовому серверу clamav-milter.
Оказывается все предельно просто прикручивается. Ставится + clamav-server + clamav-milter + freshclam. Настраиваются конфиги. Сложного там ничего. Единственное с чем мне пришлось побороться и в ЖЖ меня ткнули носом (проглядел один момент), это параметр User в /etc/clamd.d/milter.conf. Он должен быть «postfix», т.е. имя юзера под которым работает Postfix, иначе почтовик не сможет получить доступ к сокету clamav-milter’a.
Никакие другие демоны не должны запускаться под тем же пользователем под которым работает postfix, иначе нарушается его хваленая безопасность. В доках к postfix об это четко сказано. Лучшее что тут можно сделать это дать права на запись в сокет /var/run/clamav-milter/clamav.sock для всех. В скрипте после запуска clamav-milter дописать:
chmod 777 /var/run/clamav-milter/clamav.sock
OneMan написал про постфикс, что да можно выставить тогоже пользователя но есть определенные НО:
никакие другие сервисы не должны быть с тем же именем что и постфикс.
потом у меня все сокеты лежат в одной папке clamav где есть еще и clamd . так вот при попытке поменять пользователся начинает ругаться clamd.
Вобщем решил проблему почти как и писал OneMan. Проблема была не в том, что
, а потому что chmod дает права до того, как создается сам сокет. решение очень простое:
for second in 0 1 2 3 4 5 6 7 8 9;
do
sleep 1
done
if [ "$second" = "9" ]; then
/bin/chmod 777 /var/lib/clamav/clamav-milter-socket
fi
Проще тогда цеплять мильтер не через сокет а
smtpd_milters = inet:localhost:portnumber
Так как есть еще spamassassin мильтер а переводить всю почтовую систему
под одного юзера как то сцыкатно
И мне понравилось. :)
ловит все на ура. :)
Никакие другие демоны не должны запускаться под тем же пользователем под которым работает postfix, иначе нарушается его хваленая безопасность. В доках к postfix об это четко сказано. Лучшее что тут можно сделать это дать права на запись в сокет /var/run/clamav-milter/clamav.sock для всех. В скрипте после запуска clamav-milter дописать:
chmod 777 /var/run/clamav-milter/clamav.sock
@OneMan: ага.. только не работает это. Мильтер проверяет права на соккет и меняет их назад.
у меня так уже не один год работает)
2 OneMan – Проверил у себя OpenSuse 11.1 все установленно из родных репо., действительно права на сокет меняются обратно.
В конфиге мильтера проверьте имя юзера от которого он запускается. Должен совпадать с постфиксом. Тогда проблема не возникает.
OneMan написал про постфикс, что да можно выставить тогоже пользователя но есть определенные НО:
никакие другие сервисы не должны быть с тем же именем что и постфикс.
потом у меня все сокеты лежат в одной папке clamav где есть еще и clamd . так вот при попытке поменять пользователся начинает ругаться clamd.
Вобщем решил проблему почти как и писал OneMan. Проблема была не в том, что
chmod 777 прелестно )
оставьте лучше с юзером postfix, гораздо безопасней )
Все проще. Я выше написал, что имя юзера надо поправить и все. :)
Проще тогда цеплять мильтер не через сокет а
smtpd_milters = inet:localhost:portnumber
Так как есть еще spamassassin мильтер а переводить всю почтовую систему
под одного юзера как то сцыкатно