Проблема с использованием spamassassin как пользователя без прав root

Проблема с использованием spamassassin как пользователя без прав root

Я запускаю spamassassin на Ubuntu 14.04 как root. Когда я вызываю любой из методов, например Check или ReportSpam, я также передаю другого пользователя, от имени которого должна быть запущена проверка. Однако я получаю проблему с правами доступа

spamd: Can't locate Mail/SpamAssassin/PerMsgLearner.pm: 
Permission denied at /usr/share/perl5/Mail/SpamAssassin.pm line 644, <GEN14> line 7.

Глядя на строку 644 в этом скрипте Perl, он пытается импортировать другой файл Perl.

require Mail::SpamAssassin::PerMsgLearner;

Это не проблема запуска от имени root. Проблема с выполнением функций от имени root заключается в том, что файлы Bayes (для изучения спама с течением времени) записываются в /nonexistent, каталог, который не существует (это домашний каталог для пользователя 'nobody').

Таким образом, ни как пользователь root, ни как другой пользователь я не могу заставить SpamAssassin записать файл Байеса на диск, поэтому функция обучения не работает.

решение1

Оказывается, мне пришлось добавить следующую строку в /etc/mail/spamassassinконфигурацию, а затем перекомпилировать spamassassin. Обратите внимание, важно включить имя файла в конце, например bayes

bayes_path /path/to/dir/bayes

Связанный контент