
Eu instalei e configurei o spammassassin no meu sistema (14.04) usando estetutor. Quando inicio um serviço usando,
service spamassassin start
estou recebendo resposta 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
Eu tentei,
netstat -lptn
está mostrando,
há um processo em execução com 127.0.1.1:783
também tentei,
sudo netstat -lepnt
estou conseguindo,
aqui também não mostrando nenhum processo executado com 127.0.1.1:783
Por favor me diga onde está a causa do problema?
Responder1
Execute sudo netstat -lptn | grep 783
e obtenha o PID (lado direito da saída - algo como 2332/spamd.pid ) do programa que usa a porta 783. Então mate esse programa com sudo kill -9 PID
. Então inicie o spamassasin
service spamassassin start
Se você ainda receber o erro de soquete INET6, tente executar o spamd sem suporte IPv6 (supondo que você não precise dele).
sudo nano /etc/default/spamassassin
Adicione -4 à sua linha OPTIONS
spamd --help
...
-4, --ipv4-only, --ipv4 Use IPv4 where applicable, disables IPv6
...
Caso contrário, solucione o problema de sua configuração IPv6.
Responder2
Verifique se o ipv6 está habilitado
sysctl -a|grep disable_ipv6
Se não estiver, habilite ou desabilite o ipv6 no spamassassin conforme sugerido acima.
Responder3
Eu tive o mesmo problema. As respostas aqui não me ajudaram em nada. Descobri que o problema desapareceu, sem desabilitar o IPv6, editando /etc/default/spamassassin
e adicionando um usuário para spamd
, conforme descritoaqui. As etapas essenciais descritas nessa página são:
1)sudo apt-get install spamassassin spamc
2)sudo adduser spamd --disabled-login
3) Edite /etc/default/spamassassin
para incluir o seguinte:
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 algumas regras anti-spam, por exemplo,
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
É descrito mais um passo, para atualizar postfix
, que não foi necessário no meu caso. Acho que o cerne da questão é o passo 2 e depois adicionar --username spamd
o OPTIONS
de/etc/default/spamassassin
Responder4
Atualização: como iniciar o serviço spamassassin com Ubuntu 20.10
Instale spamassassin
(e também spamc
e sa-compile
):
% sudo apt install spamassassin
Spamassassin pode ser executado em primeiro plano spamassassin
e em segundo plano como um daemon com spamd -d
.
A instalação cria um usuário sem login debian-spamd
.
% grep spamd /etc/passwd
debian-spamd:x:131:136::/var/lib/spamassassin:/usr/sbin/nologin
Não crie usuário spamd
!
Faça um item de inicialização:
% 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 a configuração:
% 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
Meu melhor palpite para o arquivo de configuração /etc/default/spamassassin
é:
OPTIONS="--debug --create-prefs --username=debian-spamd --max-children=5 --username=debian-spamd --helper-home-dir --syslog=/var/log/spamd.log"
Veja man spamd
todas as opções.
Inicie o serviço sem reiniciar o computador:
% sudo systemctl start spamassassin
ou
% sudo service spamassassin start
Reinicie o serviço após a alteração da configuração sem reiniciar o computador:
% sudo service spamassassin restart
Verifique o status:
% 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 as opções de execução:
% 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
onde debian-+
é uma abreviatura para debian-spamd
(muito longo para ps
).
Verifique o PID:
% cat /run/spamd.pid
56529
Verifique se spamd
está escutando na rede:
% 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 o número de porta padrão 783, sudo netstat -nlp|grep 783
retornará as mesmas informações independentemente do PID.
spamd pode ser usado com um servidor de emailmas também pode ser usado diretamente na linha de comando. Depois spamc
, digite algum texto, saia com Control-D
, isso gera um relatório.
O mesmo relatório pode ser obtido com spamassassin
.
spamd
em si pode ser iniciado na linha de comando.
Em /etc/default/spamassassin
, ENABLE, PIDFILE, CRON não têm efeito. Com CRON = 1, não vejo nenhum cron job:
% sudo crontab -u debian-spamd -l
no crontab for debian-spamd
% sudo crontab -u root -l
no crontab for root
Outro arquivo de configuração: /etc/init.d/spamassassin
.
Não confunda o spamassassinserviçoconfiguração (discutida até agora) com a configuração spamassassin (como detectar spam). Este último é explicado em man spamassassin
, em particular os nomes dos arquivos de configuração.