Ich kann den Spamassassin-Dienst nicht starten

Ich kann den Spamassassin-Dienst nicht starten

Ich habe Spammassassin in meinem System (14.04) installiert und konfiguriert mit diesemTutor. Wenn ich einen Dienst starte mit,

service spamassassin start

Ich bekomme die Antwort als

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

Ich habe versucht,

netstat -lptn

es zeigt,

Bildbeschreibung hier eingeben

Es läuft ein Prozess mit 127.0.1.1:783

auch versucht,

sudo netstat -lepnt

Ich bekomme,

Bildbeschreibung hier eingeben

auch hier wird kein Prozess angezeigt, der mit 127.0.1.1:783 ausgeführt wird

Sagen Sie mir bitte, wo die Ursache des Problems liegt.

Antwort1

Führen Sie es aus sudo netstat -lptn | grep 783und holen Sie sich die PID (ganz rechts in der Ausgabe - so etwas wie 2332/spamd.pid ) des Programms, das Port 783 verwendet. Beenden Sie das Programm dann mit sudo kill -9 PID. Starten Sie dann den Spamassasin

service spamassassin start

Wenn der INET6-Socket-Fehler weiterhin auftritt, versuchen Sie, spamd ohne IPv6-Unterstützung auszuführen (vorausgesetzt, Sie benötigen diese nicht).

sudo nano /etc/default/spamassassin

Fügen Sie -4 zu Ihrer OPTIONS-Zeile hinzu

spamd --help

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

Andernfalls beheben Sie das Problem mit Ihrer IPv6-Konfiguration.

Antwort2

Überprüfen Sie, ob IPv6 aktiviert ist

sysctl -a|grep disable_ipv6

Wenn dies nicht der Fall ist, aktivieren Sie es oder deaktivieren Sie IPv6 in Spamassassin, wie oben vorgeschlagen.

Antwort3

Ich hatte das gleiche Problem. Die Antworten hier haben mir überhaupt nicht geholfen. Ich habe festgestellt, dass das Problem behoben wurde, ohne dass IPv6 deaktiviert werden musste, indem ich /etc/default/spamassassineinen Benutzer für bearbeitete und hinzufügte spamd, wie beschriebenHier. Die auf dieser Seite beschriebenen wesentlichen Schritte sind:

1)sudo apt-get install spamassassin spamc

2)sudo adduser spamd --disabled-login

3) Bearbeiten Sie es /etc/default/spamassassin, um Folgendes einzuschließen:

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) Bearbeiten Sie /etc/spamassassin/local.cf, um einige Anti-Spam-Regeln einzurichten, z. B.

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

Ein weiterer Schritt wird beschrieben, um zu aktualisieren postfix, was in meinem Fall nicht nötig war. Ich denke, der Kern des Problems ist Schritt 2 und dann das --username spamdHinzufügen OPTIONSvon/etc/default/spamassassin

Antwort4

Update: So starten Sie den Spamassassin-Dienst mit Ubuntu 20.10

Installieren spamassassin(und auch spamcund sa-compile):

% sudo apt install spamassassin

Spamassassin kann mit im Vordergrund spamassassinund mit als Daemon im Hintergrund ausgeführt werden spamd -d.

Bei der Installation wird ein Benutzer ohne Anmeldung erstellt debian-spamd.

Warum ein dedizierter Benutzer?

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

Keinen Benutzer anlegen spamd!

Erstellen Sie ein Startelement:

% 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.

Überprüfen Sie die Konfiguration:

% 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

Meine beste Vermutung für die Konfigurationsdatei /etc/default/spamassassinist:

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

man spamdAlle Optionen finden Sie hier .

Dienst starten ohne den Computer neu zu starten:

% sudo systemctl start spamassassin

oder

% sudo service spamassassin start 

Dienst nach Konfigurationsänderung neu starten, ohne den Computer neu zu starten:

% sudo service spamassassin restart 

Status überprüfen:

% 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

Überprüfen Sie die Ausführungsoptionen:

% 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  

wobei debian-+eine Abkürzung für ist debian-spamd(zu lang für ps).

PID prüfen:

% cat /run/spamd.pid
56529

Überprüfen Sie, wer spamdim Netzwerk zuhört:

% 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 

Bei der Standard-Portnummer 783 sudo netstat -nlp|grep 783werden unabhängig von der PID dieselben Informationen zurückgegeben.

spamd kann mit einem Mailserver verwendet werdenEs kann aber auch direkt in der Kommandozeile verwendet werden. spamcGeben Sie nach einen Text ein und beenden Sie das Programm mit . Control-DDaraufhin wird ein Bericht ausgegeben.

Derselbe Bericht kann mit abgerufen werden spamassassin.

spamdselbst kann in der Befehlszeile gestartet werden.

In /etc/default/spamassassinhaben ENABLE, PIDFILE und CRON keine Wirkung. Mit CRON = 1 sehe ich keinen Cron-Job:

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

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

Andere Konfigurationsdatei: /etc/init.d/spamassassin.

Verwirren Sie den Spamassassin nichtServiceKonfiguration (bisher besprochen) mit der Spamassassin-Konfiguration (wie Spam erkannt wird). Letzteres wird in erläutert man spamassassin, insbesondere die Konfigurationsdateinamen.

verwandte Informationen