Configurar la función de autoaprendizaje de SpamAssassin en VestaCP (CentOS)

LinuxSpamAssassinVestaCP

Cuando configuramos SpamAssassin teniendo instalado el panel de hosting VestaCP (sobre CentOS), puede que obtengamos un error relacionado con la opción de autoaprendizaje de SpamAssassin. El problema reside en el plugin Bayes. Si miramos nuestro nuestro archivo de log veremos algo así como:

Spamassassin Error: cannot create user preferences file //.spamassassin/user_prefs: Permission denied

Como podéis comprobar, el error está claramente en que SpamAssassin no es capaz de crear el archivo user_prefs.

Pasos para arreglar el problema

Lo primero que tenemos que hacer es crear el usuario spamd para evitar que SpamAssassin se ejecute con el usuario nobody. Para ello usamos lo siguientes comandos:

groupadd -g 1001 spamd
useradd -u 1001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd
mkdir /var/lib/spamassassin
chown spamd:spamd /var/lib/spamassassin

Seguidamente tenemos que editar el archivo /etc/exim/exim.conf mediante el siguiente comando:

nano vi /etc/exim/exim.conf 1 vi /etc/exim/exim.conf

Si no tenemos el editor nano, tendremos que abrir el archivo con el editor vi. Dentro del archivo tenemos que modificar la siguiente línea:

spam = nobody:true/defer_ok

Y cambiar el usuario nobody por el usuario spamd, de modo que quede tal que así:

spam = spamd:true/defer_ok

Y listo, en principio ya no tendremos que realizar más modificaciones. Ahora tenemos que comprobar que los cambios se han aplicado correctamente.

Reinicio de servicios y comprobaciones finales

Tenemos que reiniciar tanto exim como SpamAssassin:

service exim restart
service spamassassin restart

Ahora, tras pasar un tiempo, los archivos user_prefs, bayes_seen y bayes_toks aparecerán en el directorio del usuario spamd, que en este caso es /var/lib/spamassassin. Para ello ejecutamos los siguientes comandos y vemos si están:

cd /var/lib/spamassassin
ls -a

Debemos tener en cuenta de que Bayes para SpamAssassin necesita al menos 200 emails de spam antes de crear los archivos, así que si no están, podemos volver a mirar pasado un tiempo. Eso sí, el error debería haber desaparecido del log y el archivo user_prefs que antes nos daba error debería estar presente.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

Deja una respuesta

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”