Plesk: SpamAssassin "ohne Lizenz"

kleiner Nachtrag:

Code:
[LEFT]
unix  3      [ ]         STREAM     VERBUNDEN     39490570 21977/spamd child
unix  3      [ ]         STREAM     VERBUNDEN     39490569 21975/spamd.pid
unix  3      [ ]         STREAM     VERBUNDEN     39490568 21976/spamd child
unix  3      [ ]         STREAM     VERBUNDEN     39490567 21975/spamd.pid
unix  2      [ ]         DGRAM                    39490546 21975/spamd.pid
[/LEFT]
 
Last edited by a moderator:
Mach mal "ls -l /var/qmail/bin/qmail-queue*".
Denn ELF steht für ein Binary.
D.h. Dein Script ist überschrieben worden.

huschi.
 
is folgdens bei rausgekommen:

Code:
-rwsr-xr-x 1 qmailq qmail    127 2007-08-11 14:48 /var/qmail/bin/qmail-queue
-r-s--x--x 1 drweb  qmail 152436 2007-07-26 08:03 /var/qmail/bin/qmail-queue.drweb
-r-s--x--x 1 qmailq qmail  19352 2007-06-08 20:02 /var/qmail/bin/qmail-queue.moved
-r-s--x--x 1 drweb  qmail 152436 2007-07-26 08:03 /var/qmail/bin/qmail-queue.orig
-r-s--x--x 1 qmailq qmail  26296 2007-07-26 07:59 /var/qmail/bin/qmail-queue.origin
-r-s--x--x 1 root   qmail  26296 2007-07-06 14:36 /var/qmail/bin/qmail-queue.plesk

wie erstell ich dan binär solch datei?
habs ja mit dem echo ... >> qmail-queue gemacht...
 
Habe das jetzt nochmal gemacht und "dr. web" mal wegrationalisiert.

Klappt leider immer noch nicht, aber die queue Datei behält wenigsten das eingefügte Script.

Fehler in "mail.err":
Code:
Aug 11 19:02:38 h1307944 qmail-queue-handlers[18140]: Handlers Filter before-queue for qmail started ...
 
Wie sieht Deine qmail-queue konkret aus?
Achte vorallem auf die Zeilenenden! Sie dürfen nicht mit dem Windows-Artigen \r\n abschließen sondern immer nur \n.

huschi.
 
Hi huschi,

also meine qmail-queue sieht so aus:

Code:
#!/bin/bash
if [ -z $USER ] ; then
/usr/bin/spamc | /var/qmail/bin/qmail-queue.orig
else
/var/qmail/bin/qmail-queue.orig
fi

es hatte sich mal ein Umbruch am Ende eingeschlichen, aber den hatte ich dann eliminiert.
 
Laut Deinem Verzeichnis-Listing ist aber die Datei qmail-queue.orig diejenige mit DrWeb.

Dein Inhalt der qmail-queue umfaßt als DOS-Datei 128 Bytes, als Unix-Datei nur 123 Bytes.
Laut Deinem Listing hat Deine 127 Bytes was mich vermuten läßt, daß sie immer noch im DOS-Format ist.

huschi.
 
wie formatier ich das um? mal ganz doof gefragt :rolleyes:

edit:
also ich hab die queue nochmal gelöscht und wie in deinem kurzen tutorial beschrieben nochmal neu gechrieben.
ist wie 124 Bytes groß und klappt leider immer noch nicht :-(

Code:
-rwxr-xr-x 1 root   root     124 2007-08-12 16:35 qmail-queue
-rwsr-xr-x 1 qmailq qmail    123 2007-08-12 11:47 qmail-queue.bak
-r-s--x--x 1 drweb  qmail 152436 2007-07-26 08:03 qmail-queue.drweb
-r-s--x--x 1 qmailq qmail  19352 2007-06-08 20:02 qmail-queue.moved
-r-s--x--x 1 drweb  qmail 152436 2007-07-26 08:03 qmail-queue.orig
-r-s--x--x 1 qmailq qmail  26296 2007-07-26 07:59 qmail-queue.origin
-r-s--x--x 1 root   qmail  26296 2007-07-06 14:36 qmail-queue.plesk
 
Last edited by a moderator:
Sobald Du die aktuelle Fehlermeldung mitteilst, kann sich ja jemand anderer darum kümmern.
Ich fliege gleich in den Urlaub... :)

huschi.
 
Fehlermeldung ist immernoch die gleiche - wenn sie als Fehlermeldung zu interpretieren ist:

Code:
qmail-queue-handlers[18002]: Handlers Filter before-queue for qmail started ...
qmail-queue-handlers[18002]: from=mail@domain_2.tld
qmail-queue-handlers[18002]: to=mail@domain.tld
qmail-queue-handlers[18002]: hook_dir = '/var/qmail//handlers/before-queue'
qmail-queue-handlers[18002]: recipient[3] = 'mail@domain.tld'
qmail-queue-handlers[18002]: handlers dir = '/var/qmail//handlers/before-queue/recipient/mail@domain.tld'
qmail-queue-handlers[18002]: starter: submitter[18003] exited normally
qmail-local-handlers[18004]: Handlers Filter before-local for qmail started ...
qmail-local-handlers[18004]: from=mail@domain_2.tld
qmail-local-handlers[18004]: to=mail@domain.tld


Kommt zwischendurch aber sporadisch solch Fehlermeldung:

Code:
spamd[15799]: mkdir /var/qmail/.spamassassin: Permission denied at /usr/lib/perl5/vendor_perl/5.8.8/Mail/SpamAssassin.pm line 1536 
spamd[15799]: config: cannot write to /var/qmail//.spamassassin/user_prefs: No such file or directory 
spamd[15799]: mkdir /var/qmail/.spamassassin: Permission denied at /usr/lib/perl5/vendor_perl/5.8.8/Mail/SpamAssassin.pm line 1536 
spamd[15799]: locker: safe_lock: cannot create tmp lockfile /var/qmail/.spamassassin/auto-whitelist.lock.h1307944.stratoserver.net.15799 for /var/qmail/.spamassassin/auto-whitelist.lock: No such file or directory 
spamd[15799]: auto-whitelist: open of auto-whitelist file failed: locker: safe_lock: cannot create tmp lockfile /var/qmail/.spamassassin/auto-whitelist.lock.h1307944.stratoserver.net.15799 for /var/qmail/.spamassassin/auto-whitelist.lock: No such file or directory 
spamd[15799]: bayes: locker: safe_lock: cannot create tmp lockfile /var/spool/spamassassin/bayes.lock.h1307944.stratoserver.net.15799 for /var/spool/spamassassin/bayes.lock: Permission denied

und ich hab keene Ahnung wieso das alles nich klappt :(

edit:
Dann angenehmen Urlaub! :)
 
Last edited by a moderator:
Hallo,

folgendes habe ich per Zufall festgestellt:

meine qmail-queue sieht so aus:
Code:
#!/bin/bash
if [ -z $USER ] ; then
/usr/bin/spamc | /var/qmail/bin/qmail-queue.orig
else
/var/qmail/bin/qmail-queue.orig
fi

ich hatte grade ein PHP Script laufen mit dem ich eine Mail versand habe. Tatsächlich ist diese Mail mit mit den Spamassassin Header versehen.
Kann das sein das der nicht in den TRUE Teil der if Schleife springt? Wenn ja wieso? Was bedeutet der Parameter -z und ist die Variable $USER global und wie ist sie normalerweise belegt?

ist der folgende Code allein in der qmail-queue nachteilig im Sinne der Systemlast:
oder kann ich ihn ohne bedenken nutzen?

Code:
/usr/bin/spamc | /var/qmail/bin/qmail-queue.orig
 
Last edited by a moderator:
Hallo,

ich habe nun spamassassin mal temporär ohne die if-Abfrage laufen, sodass auch ausgehende E-Mails geprüft werden.

Folgendes Problem bei Mailinglisten tritt aber auf:

Code:
Hi. This is the qmail-send program at h123.stratoserver.net.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

<list@domain.tld>:
Failure to exec script. WANTED gid 671, GOT gid 121.
preline: fatal: unable to copy input: broken pipe

671 = mailman
121 = mail

wie kann ich das einstellen, dass der sowohl die GID 121 als auch GID 671 akzeptiert.

Reicht es wenn ich /etc/group mail:x:121:mailman mache?

Vielen Dank.

Micha
 
Last edited by a moderator:
Problem nach Upgrade auf Spamassassin 3.2.4

Zunächst einmal vielen Dank an Huschi für seine hilfreichen Anleitungen und geduldigen Erklärungen.

Ich habe Spamassassin auf meinem "Strato Power Server" nach der Anleitung (zunächst) zum Laufen bekommen. Nach ein paar Tagen kamen dann jedoch plötzlich wieder Massen von Spam. Nachdem spamd gekillt und neugestartet war, funktionierte es erneut ein paar Tage, danach wieder dasselbe Spiel.

In der Hoffnung, dass es sich um einen Bug handelt, der in der aktuellen Version 3.2.4 behoben wurde, habe ich diese installiert. Ich habe die alten perl-spamassassin und spamassassin sowie psa-spamassassin deinstalliert und die neuen perl-spamassassin sowie spamassassin mit rpm installiert. Bei der Installation taucht eine Fehlermeldung ("/sbin/service: No such file or directory") auf:

Code:
h1383920:/usr/src/packages/RPMS/i586 # rpm -Uvh --force perl-Mail-SpamAssassin-3.2.4-1.i586.rpm
Preparing...                ########################################### [100%]
   1:perl-Mail-SpamAssassin ########################################### [100%]
h1383920:/usr/src/packages/RPMS/i586 # rpm -Uvh --force spamassassin-3.2.4-1.i586.rpm
Preparing...                ########################################### [100%]
   1:spamassassin           ########################################### [100%]
spamassassin              0:off  1:off  2:off  3:on   4:off  5:on   6:off
/var/tmp/rpm-tmp.66520: line 13: /sbin/service: No such file or directory
error: %post(spamassassin-3.2.4-1) scriptlet failed, exit status 127

spamd hängt sich beim Starten nach der Statuszeile "[13456] info: prefork: child states: II" auf:

Code:
# /usr/bin/spamd start
[13456] info: spamd: server started on port 783/tcp (running version 3.2.4)
[13456] info: spamd: server pid: 13456
[13456] info: spamd: server successfully spawned child process, pid 13458
[13456] info: spamd: server successfully spawned child process, pid 13459
[13456] info: prefork: child states: II

Wenn ich STRG+Z drücke, kann ich mit "ps aux| grep spamd" sehen, dass spamd dann im Speicher ist...:

Code:
# ps aux | grep spamd
root     13456  0.9  5.6  31272 28996 pts/0    T    21:46   0:01 /usr/bin/perl -T -w /usr/bin/spamd start
root     13458  0.0  5.6  31272 29000 pts/0    T    21:47   0:00 spamd child
root     13459  0.0  5.6  31272 29000 pts/0    T    21:47   0:00 spamd child
root     13473  0.0  0.1   1860   612 pts/0    S+   21:49   0:00 grep spamd

...aber das Spamfiltern funktioniert nicht, wie ein Blick in die /var/log/mail.err zeigt:

Code:
May  4 21:46:18 h1383920 spamc[13432]: connect to spamd on 127.0.0.1 failed, retrying (#1 of 3): Connection refused
May  4 21:46:19 h1383920 spamc[13432]: connect to spamd on 127.0.0.1 failed, retrying (#2 of 3): Connection refused
May  4 21:46:20 h1383920 spamc[13432]: connect to spamd on 127.0.0.1 failed, retrying (#3 of 3): Connection refused
May  4 21:46:21 h1383920 spamc[13432]: connection attempt to spamd aborted after 3 retries

Was mache ich falsch?
 
spamd hängt sich beim Starten nach der Statuszeile "[13456] info: prefork: child states: II" auf:
Er hängt sich nicht auf, sondern ist jetzt "Daemonized". Du hast vergessen ihn in den Hintergrund zu schicken. Dies alles übernimmt normalerweise das Startscript.

connect to spamd on 127.0.0.1 failed
Mit netstat nachsehen, auf welchem Port/Socket spamd überhaupt lauscht.

huschi.
 
Vielen Dank für die schnelle Antwort! Hier das Ergebnis von netstat:

Code:
# netstat -ap | grep spam
unix  3      [ ]         STREAM     CONNECTED     6679704 11236/spamd child
unix  3      [ ]         STREAM     CONNECTED     6679702 11235/spamd child
 
Wenn ich das auf die Schnelle richtig interpretiere, lauscht Dein SpamD auf einem Unix-Socket und nicht auf einem Port. Der Client versucht aber die Verbindung auf einem Port herzustellen. Da ein Socket meist effizienter ist, belasse den Daemon dort und suche die richtige Einstellung für den Client.

huschi.
 
Hallo Leute! Habe da noch ein paar Fragen.

Ich habe jetzt SA ohne Lizenz aktivieren lassen. Der Programmierer hat das auch mühelos hin bekommen und in den Email-Headern steht auch drin, dass SA die Mails überprüft. ^^

In Plesk wird nach dem Systemneustart zwar angezeigt, dass der SA läuft, allerdings ist SA noch überall ausgegraut und ich kann auch nicht einstellen, welche Accounts mit SA überprüft werden sollen.

1.) Werden jetzt generell alle Mails überprüft?

2.) Hiermit erstelle ich die Konfigurationsdatei für den SA?
SpamAssassin Configuration Generator

3.) Wie kann ich denn nun überhaupt den SA anlernen???

4.) Ich habe keine Lust die ganzen Spam-Mails ewig abzurufen, kann ich den SA nach einer gewissen lernzeit so einstellen, dass die Spam-Mails automatisch gelöscht werden (oder war da was mit einem Junk-Mail-Order auf dem Server)?

5.) Oder ist da diese Greylist sinnvoller?

Wäre super, wenn mir das einer so erklären könnte, dass ich nicht wieder meinen Programmierer nerven muss. :)
 
Last edited by a moderator:
allerdings ist SA noch überall ausgegraut und ich kann auch nicht einstellen, welche Accounts mit SA überprüft werden sollen.
Das ist sinn und zweck der Plesk-SA-Lizenz. Was glaubst Du für was die ist, wenn es sich so einfach umgehen lassen würde...?

Und die Antworten:
1.) Ja
2.) Z.B.
3.) Mit sa-learn.
4.) Nein, aber mit der Hand kann man einen Spam-Ordner verwalten.
5.) Zusätzlich sowieso.

huschi.
 
Hallo,

ich muss dieses alte Thema leider nochmal aufgreifen, weil ich ein Phenomen habe auf das ich keine antwort weiss. Ich habe eine vServer bei S4Y mit Fedora 8 und Plesk 9. Jetzt habe ich nach Huschis Anleitung Spamassasins eingebundenund war überrscht, dass das so einfach ging. Aber zu früh gefreut. Auf einem E-Mail Account werden die Mails als vom SA getaggt, auf allen anderen nicht.
Ich habe versucht irgendwelche Unterschiede zwischen den E-Mail Accounts zu finden (Dr.Web an/aus) - Fehlanzeige.

Hat irgendjemand eine Idee woran das liegen könnte. Ich wäre sehr dankbar.

Gruß
 
Back
Top