Problema al utilizar spamassassin como usuario no root

Problema al utilizar spamassassin como usuario no root

Estoy ejecutando spamassassin en Ubuntu 14.04 como root. Cuando llamo a cualquiera de los métodos, como Check o ReportSpam, también paso otro usuario con el que se debe ejecutar la verificación. Sin embargo tengo un problema de permisos

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

Al mirar la línea 644 en ese script Perl, intenta importar otro archivo Perl.

require Mail::SpamAssassin::PerMsgLearner;

Esto no es un problema al ejecutarlo como root. El problema con la ejecución de funciones como root es que los archivos bayes (para aprender con el tiempo sobre spam) se escriben en /nonexistent, un directorio que no existe (es el directorio de inicio del usuario 'nadie').

Entonces, como root u otro usuario, no puedo hacer que SpamAssassin escriba el archivo bayes en el disco, por lo que la funcionalidad de aprendizaje no funciona.

Respuesta1

Resulta que tuve que agregar la siguiente línea a la /etc/mail/spamassassinconfiguración y luego volver a compilar spamassassin. Tenga en cuenta que es importante incluir el nombre del archivo al final, por ejemplo, bayes.

bayes_path /path/to/dir/bayes

información relacionada