
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,
Es läuft ein Prozess mit 127.0.1.1:783
auch versucht,
sudo netstat -lepnt
Ich bekomme,
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 783
und 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/spamassassin
einen 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 spamd
Hinzufügen OPTIONS
von/etc/default/spamassassin
Antwort4
Update: So starten Sie den Spamassassin-Dienst mit Ubuntu 20.10
Installieren spamassassin
(und auch spamc
und sa-compile
):
% sudo apt install spamassassin
Spamassassin kann mit im Vordergrund spamassassin
und 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/spamassassin
ist:
OPTIONS="--debug --create-prefs --username=debian-spamd --max-children=5 --username=debian-spamd --helper-home-dir --syslog=/var/log/spamd.log"
man spamd
Alle 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 spamd
im 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 783
werden 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. spamc
Geben Sie nach einen Text ein und beenden Sie das Programm mit . Control-D
Daraufhin wird ein Bericht ausgegeben.
Derselbe Bericht kann mit abgerufen werden spamassassin
.
spamd
selbst kann in der Befehlszeile gestartet werden.
In /etc/default/spamassassin
haben 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.