Ошибки SpamAssassin

archive view archive save

spamassassin-logo Ошибки SpamAssassin (spamd), причины, описание, возможные пути их решения: cannot create tmp lockfile; failed to create readable default_prefs; etc.

spamd[xxxx]: plugin: eval failed: bayes: (in learn) locker: safe_lock: cannot create tmp lockfile /home/user/.spamassassin/bayes.lock.hostname.localhost.xxxx for /home/user/.spamassassin/bayes.lock: Отказано в доступе

Эта ошибка может быть причиной ошибки фильтрования сообщений в Claws Mail:

"Модуль SpamAssassin не смог отфильтровать сообщение. Вероятная
причина этого - недоступный демон spamd. Пожалуйста, убедитесь, что
spamd запущен и доступен."
---
The Spamassassin plugin couldn't filter a message. The probable cause of the error is an unreachable spamd daemon. Please make sure spamd is running and accessible.

При этом, демон spamd запущен, а сама ошибка "Модуль SpamAssassin не смог отфильтровать сообщение" может проявляться не регулярно, которой как правило сопутствует ошибка "safe_lock: cannot create tmp lockfile" и фиксируется в /var/log/syslog следующим образом:

$ less /var/log/syslog|grep -i fail|grep -i spam
...
Nov 24 15:45:23 hostname spamd[xxxx]: plugin: eval failed: bayes: (in learn) locker: safe_lock: cannot create tmp lockfile /home/user/.spamassassin/bayes.lock.hostname.localhost.xxxx for /home/user/.spamassassin/bayes.lock: Отказано в доступе

Решается следующим образом:

$ mkdir -p /var/spamassassin/bayes_db/
 
$ less /etc/passwd|grep spam
debian-spamd:x:121:127::/var/lib/spamassassin:/bin/sh
 
$ chown -R debian-spamd:debian-spamd /var/spamassassin
 
$ vi /etc/mail/spamassassin/local.cf
 
bayes_path /var/spamassassin/bayes_db/bayes
bayes_file_mode 0777
 
$ /etc/init.d/spamassassin restart
 
$ ls -la /var/spamassassin/bayes_db/
итого 100
drwxr-xr-x 2 debian-spamd debian-spamd  4096 ноя 27 16:07 .
drwxr-xr-x 3 debian-spamd debian-spamd  4096 ноя 25 06:17 ..
-rw-rw-rw- 1 debian-spamd debian-spamd 12288 ноя 27 16:07 bayes_seen
-rw-rw-rw- 1 debian-spamd debian-spamd 90112 ноя 27 16:07 bayes_toks

spamd: failed to create readable default_prefs: /home/user/.spamassassin/user_prefs

Проблема проявляется при использовании почтового клиента Claws Mail совместно с SpamAssassin:

$ less /var/log/syslog|grep -i fail|grep -i spam
Nov 24 11:10:13 hostname spamd[xxxx]: spamd: failed to create readable default_prefs: /home/user/.spamassassin/user_prefs
Nov 24 12:41:33 hostname spamd[xxxx]: spamd: failed to create readable default_prefs: /home/user/.spamassassin/user_prefs
Nov 24 12:41:39 hostname spamd[xxxx]: spamd: failed to create readable default_prefs: /home/user/.spamassassin/user_prefs
Nov 24 15:45:16 hostname spamd[xxxx]: spamd: failed to create readable default_prefs: /home/user/.spamassassin/user_prefs
 
$ tail -f /var/log/mail.log | grep spamd
...
Nov 27 16:08:09 hostname spamd[971]: spamd: connection from localhost [127.0.0.1]:36058 to port 783, fd 5
Nov 27 16:08:09 hostname spamd[971]: spamd: creating default_prefs: /home/user/.spamassassin/user_prefs
Nov 27 16:08:09 hostname spamd[971]: config: cannot create user preferences file /home/user/.spamassassin/user_prefs: Отказано в доступе
Nov 27 16:08:09 hostname spamd[971]: spamd: failed to create readable default_prefs: /home/user/.spamassassin/user_prefs
Nov 27 16:08:09 hostname spamd[971]: spamd: checking message <E1a2Hs4-0006rg-Nl@smtp1673.emltwo.com> for user:121
Nov 27 16:08:11 hostname spamd[971]: spamd: clean message (1.8/3.0) for user:121 in 1.5 seconds, 25271 bytes.
Nov 27 16:08:11 hostname spamd[971]: spamd: result: . 1 - HTML_MESSAGE,SPF_PASS,T_DKIM_INVALID,URIBL_BLACK scantime=1.5,size=25271,user=user,uid=121,required_score=3.0,rhost=localhost,raddr=127.0.0.1,rport=36058,mid=<E1a2Hs4-0006rg-Nl@smtp1673.emltwo.com>,autolearn=no autolearn_force=no
Nov 27 16:08:11 hostname spamd[884]: prefork: child states: II

Решение - просто создайте файл user_prefs в каталоге /home/user/.spamassassin: touch /home/user/.spamassassin/user_prefs

Лог безошибочной работы SpamAssassin:

Nov 27 19:11:56 hostname spamd[971]: spamd: connection from localhost [127.0.0.1]:37142 to port 783, fd 5
Nov 27 19:11:56 hostname spamd[971]: spamd: checking message <5010f37d61ddcc0574c4ac6e389a8d5a@olx.ua> for user:121
Nov 27 19:11:57 hostname spamd[971]: spamd: identified spam (4.1/3.0) for user:121 in 1.0 seconds, 11102 bytes.
Nov 27 19:11:57 hostname spamd[971]: spamd: result: Y 4 - HTML_MESSAGE,MIME_HTML_ONLY,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,RDNS_NONE,SPF_PASS,SUBJ_ALL_CAPS,T_DKIM_INVALID,UPPERCASE_50_75 scantime=1.0,size=11102,user=user,uid=121,required_score=3.0,rhost=localhost,raddr=127.0.0.1,rport=37142,mid=<5010f37d61ddcc0574c4ac6e389a8d5a@olx.ua>,autolearn=no autolearn_force=no
Nov 27 19:11:57 hostname spamd[884]: prefork: child states: II

В файле пользовательском конфигурационном файле /home/user/.spamassassin/user_prefs мы можем переопределить некоторые переменные конфигурации SpamAssassin из мастер-файла /etc/spamassassin/local.cf

В конфигурационном файле /home/user/.spamassassin/user_prefs могут использоваться директивы перечисленные в разделе USER PREFERENCES конфигурации SpamAssassin, например:

#   Set the threshold at which a message is considered spam (default: 5.0)
required_score 3.0
 
 
#   Add *****SPAM***** to the Subject header of spam e-mails
rewrite_header Subject *****SPAM*****
 
 
#   Save spam messages as a message/rfc822 MIME attachment instead of
#   modifying the original message (0: off, 2: use text/plain instead)
report_safe 1
 
 
#   Use Bayesian classifier (default: 1)
use_bayes 1
 
#   Bayesian classifier auto-learning (default: 1)
bayes_auto_learn 1
 
#   Set headers which may provide inappropriate cues to the Bayesian
#   classifier
bayes_ignore_header X-Bogosity
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Status
bayes_ignore_header X-Yandex-Spam
bayes_ignore_header X-Spam
 
 
#   Used to specify addresses which send mail that is often tagged
#   (incorrectly) as spam.
whitelist_from *.remoteshaman.com *github.com
#   Used to specify addresses which send mail that is often tagged
#   (incorrectly) as non-spam
blacklist_from *@spammer.com *spammer.net *webmail.mobilluck.net *inline.ua *maillist.ru

Об авторе
АдМинь БагоИскатель
АдМинь БагоИскатель ярый борец за безглючную работу любых механизмов и организмов во всей вселенной и потому пребывает в вечном поиске всяческих багов, а тот кто ищет как известно всегда находит. Когда что-то или кого-то вылечить не в состоянии, то со словами "Я в аду, а вы все черти" уходит в запой выйдя из которого снова берётся лечить неизлечимое.
Ещё статьи автора
Комментарии в блоге
Новое на форуме