
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,
hay un proceso ejecutándose con 127.0.1.1:783
también lo intenté,
sudo netstat -lepnt
estoy consiguiendo,
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 783
y 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/spamassassin
y 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/spamassassin
para 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.cf
para 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 spamd
el OPTIONS
de/etc/default/spamassassin
Respuesta4
Actualización: cómo iniciar el servicio spamassassin con Ubuntu 20.10
Instalar spamassassin
(y también spamc
y sa-compile
):
% sudo apt install spamassassin
Spamassassin se puede ejecutar en primer plano spamassassin
y en segundo plano como un demonio con spamd -d
.
La instalación crea un usuario sin inicio de sesión debian-spamd
.
% 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/spamassassin
es:
OPTIONS="--debug --create-prefs --username=debian-spamd --max-children=5 --username=debian-spamd --helper-home-dir --syslog=/var/log/spamd.log"
Consulte man spamd
todas 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 spamd
está 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 783
devolverá 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
.
spamd
Se 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.