No puedo iniciar el servicio spamassassin

No puedo iniciar el servicio spamassassin

He instalado y configurado spammassassin en mi sistema (14.04) usando estetutor. Cuando inicio un servicio usando,

service spamassassin start

Estoy recibiendo respuesta como,

Starting SpamAssassin Mail Filter Daemon: server socket setup failed, retry 1: spamd: could not create IO::Socket::INET6 socket on [::1]:783: Cannot assign requested address
server socket setup failed, retry 2: spamd: could not create IO::Socket::INET6 socket on [127.0.0.1]:783: Address already in use
server socket setup failed, retry 3: spamd: could not create IO::Socket::INET6 socket on [127.0.0.1]:783: Address already in use
server socket setup failed, retry 4: spamd: could not create IO::Socket::INET6 socket on [127.0.0.1]:783: Address already in use
server socket setup failed, retry 5: spamd: could not create IO::Socket::INET6 socket on [127.0.0.1]:783: Address already in use
server socket setup failed, retry 6: spamd: could not create IO::Socket::INET6 socket on [127.0.0.1]:783: Address already in use
server socket setup failed, retry 7: spamd: could not create IO::Socket::INET6 socket on [127.0.0.1]:783: Address already in use
server socket setup failed, retry 8: spamd: could not create IO::Socket::INET6 socket on [127.0.0.1]:783: Address already in use
server socket setup failed, retry 9: spamd: could not create IO::Socket::INET6 socket on [127.0.0.1]:783: Address already in use
spamd: could not create IO::Socket::INET6 socket on [127.0.0.1]:783: Address already in use

Yo he tratado,

netstat -lptn

se está mostrando,

ingrese la descripción de la imagen aquí

hay un proceso ejecutándose con 127.0.1.1:783

también lo intenté,

sudo netstat -lepnt

estoy consiguiendo,

ingrese la descripción de la imagen aquí

aquí tampoco se muestra ningún proceso ejecutado con 127.0.1.1:783

¿Por favor dígame dónde está la causa del problema?

Respuesta1

Ejecute sudo netstat -lptn | grep 783y obtenga el PID (en el extremo derecho de la salida, algo así como 2332/spamd.pid) del programa que usa el puerto 783. Luego elimine ese programa con sudo kill -9 PID. Entonces inicia el spamassasin.

service spamassassin start

Si aún recibe el error del socket INET6, intente ejecutar spamd sin soporte IPv6 (asumiendo que no lo necesita).

sudo nano /etc/default/spamassassin

Agregue -4 a su línea de OPCIONES

spamd --help

...
-4, --ipv4-only, --ipv4           Use IPv4 where applicable, disables IPv6
...

De lo contrario, solucione el problema de su configuración de IPv6.

Respuesta2

Compruebe si ipv6 está habilitado

sysctl -a|grep disable_ipv6

Si no es así, habilítelo o deshabilite ipv6 en spamassassin como se sugirió anteriormente.

Respuesta3

Yo tuve el mismo problema. Las respuestas aquí no me ayudaron en absoluto. Descubrí que el problema desapareció sin deshabilitar IPv6, editando /etc/default/spamassassiny agregando un usuario para spamd, como se describeaquí. Los pasos esenciales descritos en esa página son:

1)sudo apt-get install spamassassin spamc

2)sudo adduser spamd --disabled-login

3) Edite /etc/default/spamassassinpara incluir lo siguiente:

ENABLED=1
SPAMD_HOME="/home/spamd/"
OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir ${SPAMD_HOME} -s ${SPAMD_HOME}spamd.log"
PIDFILE="${SPAMD_HOME}spamd.pid"
CRON=1

4) Edite /etc/spamassassin/local.cfpara configurar algunas reglas antispam, por ejemplo,

rewrite_header Subject ***** SPAM *****
report_safe             0
required_score          5.0
use_bayes               1
use_bayes_rules         1
bayes_auto_learn        1

5)sudo service spamassassin start

Se describe un paso más, actualizar postfix, que en mi caso no fue necesario. Creo que el núcleo del problema es el paso 2 y luego agregar --username spamdel OPTIONSde/etc/default/spamassassin

Respuesta4

Actualización: cómo iniciar el servicio spamassassin con Ubuntu 20.10

Instalar spamassassin(y también spamcy sa-compile):

% sudo apt install spamassassin

Spamassassin se puede ejecutar en primer plano spamassassiny en segundo plano como un demonio con spamd -d.

La instalación crea un usuario sin inicio de sesión debian-spamd.

¿Por qué un usuario dedicado?

% grep spamd /etc/passwd
debian-spamd:x:131:136::/var/lib/spamassassin:/usr/sbin/nologin

¡No crees usuario spamd!

Haz un elemento de inicio:

% sudo systemctl enable spamassassin  
Synchronizing state of spamassassin.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable spamassassin
Created symlink /etc/systemd/system/multi-user.target.wants/spamassassin.service → /lib/systemd/system/spamassassin.service.

Verifique la configuración:

% cat /lib/systemd/system/spamassassin.service
[Unit]
Description=Perl-based spam filter using text analysis
After=network.target

[Service]
Type=forking
PIDFile=/run/spamd.pid
EnvironmentFile=-/etc/default/spamassassin
ExecStart=/usr/sbin/spamd -d --pidfile=/run/spamd.pid $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
StandardOutput=null
StandardError=null
Restart=always

[Install]
WantedBy=multi-user.target

Mi mejor suposición para el archivo de configuración /etc/default/spamassassines:

OPTIONS="--debug --create-prefs --username=debian-spamd --max-children=5 --username=debian-spamd --helper-home-dir --syslog=/var/log/spamd.log"

Consulte man spamdtodas las opciones.

Inicie el servicio sin reiniciar la computadora:

% sudo systemctl start spamassassin

o

% sudo service spamassassin start 

Reinicie el servicio después del cambio de configuración sin reiniciar la computadora:

% sudo service spamassassin restart 

Comprobar estado:

% sudo service spamassassin status 
● spamassassin.service - Perl-based spam filter using text analysis
     Loaded: loaded (/lib/systemd/system/spamassassin.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2021-06-21 00:47:10 WEST; 1s ago
    Process: 56524 ExecStart=/usr/sbin/spamd -d --pidfile=/run/spamd.pid $OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 56529 (spamd)
      Tasks: 3 (limit: 19035)
     Memory: 98.0M
     CGroup: /system.slice/spamassassin.service
             ├─56529 /usr/bin/perl -T -w /usr/sbin/spamd -d --pidfile=/run/spamd.pid --debug --create-prefs --max-children=5 --username=debian-spa>
             ├─56530 spamd child
             └─56531 spamd child

Verifique las opciones de ejecución:

% ps -ef|grep spamd              
root       56529       1  0 00:47 ?        00:00:01 /usr/bin/perl -T -w /usr/sbin/spamd -d --pidfile=/run/spamd.pid --debug --create-prefs --max-children=5 --username=debian-spamd --helper-home-dir=/var/lib/spamassassin --syslog=/var/lib/spamassasin/spamd.log
debian-+   56530   56529  0 00:47 ?        00:00:00 spamd child
debian-+   56531   56529  0 00:47 ?        00:00:00 spamd child  

donde debian-+es una abreviatura de debian-spamd(demasiado larga para ps).

Verifique el PID:

% cat /run/spamd.pid
56529

Comprueba que spamdestá escuchando en la red:

% sudo netstat -nlp|grep 56529
tcp        0      0 127.0.0.1:783     0.0.0.0:*  LISTEN      
56529/perl           
tcp6       0      0 ::1:783        :::*    LISTEN      
56529/perl 

Dado el número de puerto predeterminado 783, sudo netstat -nlp|grep 783devolverá la misma información independientemente del PID.

spamd se puede utilizar con un servidor de correopero también se puede utilizar directamente en la línea de comando. Después spamc, escriba algún texto, salga con Control-D, esto generará un informe.

El mismo informe se puede obtener con spamassassin.

spamdSe puede iniciar en la línea de comando.

En /etc/default/spamassassin, ENABLE, PIDFILE, CRON no tienen ningún efecto. Con CRON = 1, no veo ningún trabajo cron:

% sudo crontab -u debian-spamd -l
no crontab for debian-spamd

% sudo crontab -u root -l        
no crontab for root

Otro archivo de configuración: /etc/init.d/spamassassin.

No confundas al spamasassinservicioconfiguración (discutida hasta ahora) con la configuración spamassassin (cómo detectar spam). Esto último se explica en man spamassassin, en particular los nombres de los archivos de configuración.

información relacionada