Postfix настроен на использование Spamassassin в качестве milter, а spamd запускается от имени пользователя debian_spamd (homedir: /var/lib/spamassassin
) без настройки для каждого пользователя. Вся почта перенаправляется на удаленный сервер. Каждый раз, когда spamd встречает сообщение для существующего имени пользователя (например, [email protected]), он делает следующее:
30 января 07:00:22 eden spamd[385091]: spamd: создание default_prefs: /home/existinguser/.spamassassin/user_prefs
30 января 07:00:22 eden spamd[385091]: spamd: не удалось создать читаемые default_prefs: /home/existinguser/.spamassassin/user_prefs
Даже странно, когда сообщение приходит без соответствующего локального пользователя (например, для [email protected]), spamd пытается получить доступ к домашнему каталогу существующего пользователя для чтения/записи байесовских файлов:
30 января 07:00:59 eden spamd[385091]: spamd: handle_user (userdir) не удалось найти пользователя: 'nonexistinguser'
30 января 07:00:59 eden spamd[385091]: spamd: обработка сообщения <220130080050QP.30506@msbatch05> для несуществующего пользователя: 111
30 января 07:01:00 eden spamd[385091]: плагин: ошибка eval: байес: (в процессе обучения) шкафчик: safe_lock: невозможно создать файл блокировки tmp /home/existinguser/.spamassassin/bayes.lock.localhost.385091 для /home /existinguser/.spamassassin/bayes.lock: Отказано в доступе
Я понял, что должен добавить --nouser-config
к опциям Spamassassin в /etc/default/spamassassin
, хотя allow_user_rules
по умолчанию 0/выключено (согласно документация и эта тема).
Итак, проблема решена, но я все еще удивляюсь, почему
- Мне пришлось добавить опцию для достижения поведения по умолчанию
- spamd пытался использовать подкаталог .spamassassin существующего пользователя для несуществующих пользователей
Я благодарен за любые подсказки.
Спасибо,
Ян