Problema ao usar spamassassin como usuário não root

Problema ao usar spamassassin como usuário não root

Estou executando o spamassassin no Ubuntu 14.04 como root. Quando chamo qualquer um dos métodos, como Check ou ReportSpam, também estou passando outro usuário com o qual a verificação deve ser executada. No entanto, recebo um problema de permissões

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

Olhando para a linha 644 naquele script perl, ele tenta importar outro arquivo perl

require Mail::SpamAssassin::PerMsgLearner;

Este não é um problema ao executar como root. O problema com a execução das funções como root é que os arquivos bayes (para aprender ao longo do tempo sobre spam) são gravados em /nonexistent, um diretório que não existe (é o diretório inicial para o usuário 'ninguém').

Portanto, seja como root ou outro usuário, não consigo fazer com que o SpamAssassin grave o arquivo bayes no disco, portanto a funcionalidade de aprendizado é interrompida.

Responder1

Acontece que tive que adicionar a seguinte linha à /etc/mail/spamassassinconfiguração e então recompilar o spamassassin. Observe que é importante incluir o nome do arquivo no final, por exemplo, bayes

bayes_path /path/to/dir/bayes

informação relacionada