PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [sa-learn] Global?



prophet`
11.10.06, 11:30
Hallo,

habe eine frage zum sa-learn vom Spamassassin. Ich bin gerade dabei dem System ein paar Spams lernen zu lassen, in dem ich von der Seite www.spamarchive.org mir E-Mails herunterlade. Mit einem Skript liest er diese E-Mails in das Spamassassin



#!/bin/sh
for f in `ls /tmp/spam/*.gz` ; do
gzip -cd $f | sa-learn --spam --showdots --mbox;
done


Ausgeführt wird das Skript vom user "root". Es ist doch so das diese E-Mails in die Bayes-DB (bayes_toks) geschrieben werden. Aber jeder User auf dem System hat in seinem Home-Verzeichnis so eine DB. Da "root" ebenfalls so eine Datei hat und das Skript ausführt sind die E-Mails auch nur dort eingetragen oder (erkennbar an der Größe der Datei)? Nur bringt mir es wenig wenn root Spam-E-Mails kennt, aber die User nicht.

Abgeholt werden E-Mails mittels fetchmail. Die E-Mails werden dann an die User verteilt (/var/mail/<user>).

Habe ich bei der Konfiguration vom Spamassassin einen Fehler gemacht oder ist das eine Einstellungssache?

Gruß prophet`

drcux
11.10.06, 12:07
Du solltest deine Situation schon genauer erklären...

Wer liefert die Mails aus (postfix), wie lässt du spamassassin sein Job erledigen?

prophet`
11.10.06, 12:22
Oh Sorry =)

Ja fetchmail holt die E-Mails von einem Server im Internet ab und gibt sie an Postfix weiter. Postfix schickt die E-Mail an den Amavis und dann in den Spamassassin bevor er in das Postfach des Users gelangt. Am ende übergibt Postfix an procmail. Hier mal ein kompletter auszug aus der Log-Datei.



Oct 11 13:16:34 localhost postfix/smtpd[17569]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Oct 11 13:16:34 localhost postfix/smtpd[17569]: connect from localhost.localdomain[127.0.0.1]
Oct 11 13:16:34 localhost postfix/smtpd[17569]: 182A9E93C0: client=localhost.localdomain[127.0.0.1]
Oct 11 13:16:34 localhost postfix/cleanup[17572]: 182A9E93C0: message-id=<bcdf01c6ed26$58698b90$17f9280a@phx.gbl>
Oct 11 13:16:34 localhost postfix/qmgr[18515]: 182A9E93C0: from=<xxxxxx@xxxxx.xxxxxx.com>, size=114919, nrcpt=1 (queue active)
Oct 11 13:16:35 localhost amavis[15649]: (15649-08) Passed, <xxxxxx@xxxxx.xxxx.com> -> <xxxxxx@localhost.xxxxxx.de>, Message-ID: <bcdf01c6ed26$
58698b90$17f9280a@phx.gbl>, Hits: -
Oct 11 13:16:35 localhost postfix/smtp[17574]: 182A9E93C0: to=<xxxxx@localhost.xxxxxx.de>, orig_to=<xxxxx@localhost>, relay=127.0.0.1[127.0.0.1], delay=1,
status=sent (250 2.6.0 Ok, id=15649-08, from MTA: 250 Ok: queued as 9B077E9412)
Oct 11 13:16:35 localhost postfix/qmgr[18515]: 182A9E93C0: removed
Oct 11 13:16:35 localhost postfix/smtpd[17577]: disconnect from localhost.localdomain[127.0.0.1]
Oct 11 13:16:35 localhost postfix/smtpd[17579]: connect from localhost.localdomain[127.0.0.1]
Oct 11 13:16:35 localhost postfix/smtpd[17579]: CC209E93C0: client=localhost.localdomain[127.0.0.1]
Oct 11 13:16:36 localhost postfix/cleanup[17572]: CC209E93C0: message-id=<bcdf01c6ed26$58698b90$17f9280a@phx.gbl>
Oct 11 13:16:36 localhost postfix/smtp[17578]: 9B077E9412: to=<xxxxx@localhost.xxxxxx.de>, relay=127.0.0.1[127.0.0.1], delay=1, status=sent (250 Ok: queued
as CC209E93C0)
Oct 11 13:16:36 localhost postfix/smtpd[17579]: disconnect from localhost.localdomain[127.0.0.1]
Oct 11 13:16:36 localhost postfix/qmgr[18515]: CC209E93C0: from=<xxxxxx@xxxxxx.xxxxxxx.com>, size=115600, nrcpt=1 (queue active)
Oct 11 13:16:36 localhost postfix/qmgr[18515]: 9B077E9412: removed
Oct 11 13:16:36 localhost postfix/local[17580]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Oct 11 13:16:36 localhost spamd[16484]: connection from localhost.localdomain [127.0.0.1] at port 39146
Oct 11 13:16:36 localhost spamd[16484]: info: setuid to xxxxx succeeded
Oct 11 13:16:36 localhost spamd[16484]: processing message <bcdf01c6ed26$58698b90$17f9280a@phx.gbl> for xxxxx:1002.
Oct 11 13:16:41 localhost postfix/smtpd[17569]: disconnect from localhost.localdomain[127.0.0.1]
Oct 11 13:16:43 localhost spamd[16484]: clean message (-1.5/5.0) for xxxxx:1002 in 7.0 seconds, 114087 bytes.
Oct 11 13:16:43 localhost spamd[16484]: result: . -1 - ALL_TRUSTED,HTML_FONT_INVISIBLE,HTML_MESSAGE,MIME_ HTML_ONLY,NORMAL_HTTP_TO_IP scantime=7.0,size=114087,
mid=<bcdf01c6ed26$58698b90$17f9280a@phx.gbl>,autolearn=ham
Oct 11 13:16:43 localhost postfix/local[17580]: CC209E93C0: to=<xxxx@localhost.xxxxx.de>, relay=local, delay=8, status=sent (delivered to command: procmail -a "$EXTENSION")
Oct 11 13:16:43 localhost postfix/qmgr[18515]: CC209E93C0: removed

drcux
11.10.06, 12:30
Ok, postfix übergibt die Mail an spamd, dann gilt für diesen spam-check die DB des Users, der Postfix gestartet hat, spamd benutzt AFAIK immer den User, der ihm die Mail übergibt.

prophet`
11.10.06, 12:33
Ok danke schonmal - nur wie schaffe ich es eine globale DB mit dem Skript zuverwenden - ohne per Hand in die local.cf zu tippen?

drcux
11.10.06, 13:47
sudo -u usernamedesusersderspamdbenutzt sa-learn blah

prophet`
11.10.06, 14:27
In meinem Fall führt root das Skript aus - wenn eine E-Mail bearbeitet wird. Aber warum dann die DBs in den Home-Verzeichnissen? Möchte ja nicht das jeder seine eigene Spam-Liste führt.
Sorry hab es leider noch nicht verstanden wie du das genau meinst.

prophet`
11.10.06, 15:57
Habe noch einmal gegooglet und habe folgendes gefunden:



Bei der in diesem Text beschriebenen zentrallen Prüfung der Mails funktioniert dieses Konzept der dezentrallen Speicherung nicht, weshalb in der Konfigurationsdatei von SpamAssassin /etc/spamassassin/local.cf ein zentraler Speicherort angegeben werden muss:

bayes_path /home/spamd/bayes



Habe jetzt einfach das verzeichnis /root/.spamassassin/ angegeben wo sich ja die schon gefüllt DB befindet.