LINUX.ORG.RU
решено ФорумAdmin

Откуда читает свой конфиг spamd?


0

2

Почтовая связка axigen+spamd. Спам пропускает почти через раз. Хотя, spamc на список контрольных писем реагирует нормально. Написал акисгеновцам, подсказали запустить spamd в режиме отладки. При анализе логов обнаружились строки:

Nov 12 12:09:53 mail spamd[4568]: config: using "/.spamassassin" for user state dir
Nov 12 12:09:53 mail spamd[4568]: config: mkdir /.spamassassin failed: mkdir /.spamassassin: Ð<9e>Ñ<82>казано в доÑ<81>Ñ<82>Ñ<83>пе at /usr/lib/perl5/vendor_perl/5.8.8/Mail/SpamAssassin.pm line 1853

Почему он ломится в «/.spamassassin», если у меня рабочие файлы антиспама в ~/.spamassassin? `grep '\.spamassassin' /etc/mail/spamassassin` ничего путного не выдал.

Ответ на: комментарий от zgen

А можно попросить Вас чуток ткнуть носом меня, ибо повторюсь:

`grep '\.spamassassin' /etc/mail/spamassassin` ничего путного не выдал

в каком конфиге?

abr_linux
() автор топика

А как на счет прогона spamd через strace?

Не знаю как точно запускается spamd (допустим просто spamd), но логика, думаю, будет ясна:

strace -e open spamd 2>&1 | grep -v ENOENT | grep open
dbzer0
()

spamd запускает от какого-то пользователя, соответственно в хомяке этого пользователя должна быть директория .spamassassin, которую по логам он и не может создать.

fbiagent ★★★
()

хотя, если при установке указал «run as root», то в корне создай директорию /.spamassassin

туда складывается служебная инфа.

fbiagent ★★★
()
Ответ на: комментарий от zgen

Ни в каком, если вы его не создали

ОК. А значения по-умолчанию тогда какие?

ЗЫ. И всё-таки:

Почему он ломится в «/.spamassassin», если у меня рабочие файлы антиспама в ~/.spamassassin?

abr_linux
() автор топика
Ответ на: комментарий от dbzer0

Не знаю как точно запускается spamd

Моё упущение. Не написал:

# ps aux | grep spamd
root      4515  0.1  1.4 184744 60632 ?        Ss   Nov14   15:46 /usr/bin/perl -T -w /usr/bin/spamd -d -D -c -m50 -H --max-conn-per-child=10 -r /var/run/spamd.pid
abr_linux
() автор топика
Ответ на: комментарий от fbiagent

spamd запускает от какого-то пользователя, соответственно в хомяке этого пользователя должна быть директория .spamassassin

Он запущен от root, у root хомяк /root, но никак не /

хотя, если при установке указал «run as root», то в корне создай директорию /.spamassassin

Почему тогда он читает /.spamassassin, а не /root/.spamassassin? Ето такая фича запуска spamd от root или я что-то в упор не понимаю?

abr_linux
() автор топика
Ответ на: комментарий от abr_linux

Потому что доступ к хомяку root есть только у root, а ни как ни у других сервисов, имхо.

fbiagent ★★★
()
Ответ на: комментарий от abr_linux

/usr/sbin/spamd --create-prefs --max-children 10 --helper-home-dir -d --pidfile=/var/run/spamd.pid

так он запускается в дебиане (работает с exim4)

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 1)

man spamd

...

       -C path, --configpath=path
           Use the specified path for locating the distributed configuration files.  Ignore the default directories
           (usually "/usr/share/spamassassin" or similar).

       --siteconfigpath=path
           Use the specified path for locating site-specific configuration files.  Ignore the default directories
           (usually "/etc/mail/spamassassin" or similar).

...
а также
[root@mailer-one sysconfig]# ls /etc/sysc*/spam*
/etc/sysconfig/spamassassin
[root@mailer-one sysconfig]# cat /etc/sysconfig/spamassassin
# Options to spamd
# SPAMDOPTIONS="-d -c -m5 -H"
# -D check,generic,ident,message,received-header,spamd
SPAMDOPTIONS="-d -c -m8 -H -x --virtual-config-dir=/var/lib/locmail/sa/%d/%l -u virtmail"
[root@mailer-one sysconfig]#

berrywizard ★★★★★
()
Ответ на: комментарий от fbiagent

У меня запуск от root, строка такая:

SPAMDOPTIONS="-d -c -m50 -H --max-conn-per-child=10"
Поменял на такую:

SPAMDOPTIONS="-d -D -c -m50 --helper-home-dir=/root --max-conn-per-child=10"

Всё равно, он ломится в /.spamassassin. Времени разбиратся мало, так что я счас сделал линк на /root/.spamassassin. Ошибки исчезли, сегодня проверю, как работает антиспам. Но всё же, любопытно, почему никакие подсказки ему не помогают..

abr_linux
() автор топика
Ответ на: комментарий от abr_linux

Перенастроил антиспам, убил кучу ошибок. А решение такое:

завёл нового пользователя spamassassin, в строке запуска:

SPAMDOPTIONS="-d -c -m50 -u spamassassin -H --max-conn-per-child=10"

Всю папку /root/.spamassassin перетащил в ~spamassassin. Чуть подправил конфиг, поднял планку спама до 8-ми, переместил auto-whitelist сюда же. Ошибок теперь нет, потом опцию -D в автозапуске убрал. Спам, вроде отсеивается, хотя пока что не весь. Нормальные письма идут, в спам не падают.

Мне теперь хотя бы теперь стало понятно, откуда что читается и куда что записывается. Атто у Axigen-а есть свой встроенный спамасассин, так я их конфиги путал, да и в корне держать папку антиспама не кошегно было.

abr_linux
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.