Spamassassin läuft aber liefert an nobody

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
daniel_p
Posts: 34
Joined: 2003-11-15 16:24

Spamassassin läuft aber liefert an nobody

Post by daniel_p » 2003-12-05 00:56

Hallo Forum,

hier läuft ein Standard SuSE 8.1 von 1&1 mit postfix. Folgendes Problem:

E-Mails werden in /var/spool/mail/nobody abgeleget und demzufolge nicht an die webxpx Postfächer ausgeliefert! Muß ich in der procmailrc sagen, das er das wieder in die jeweiligen E-Maildateien schreibt, oder ist es der spamd, der hier irgendwas falsch einsortiert.

So siehts jedenfalls konkret aus....

/var/log/messages:

Code: Select all

Dec  5 00:44:30 pxxxxxxxx postfix/smtpd[26364]: connect from moutng.kundenserver.de[212.227.126.185]
Dec  5 00:44:30 pxxxxxxxx postfix/smtpd[26364]: 6FB1A2F4001: client=moutng.kundenserver.de[212.227.126.185]
Dec  5 00:44:30 pxxxxxxxx postfix/cleanup[26365]: 6FB1A2F4001: message-id=<000101c3bac0$9aa026e0$0301a8c0@usnifaxp>
Dec  5 00:44:30 pxxxxxxxx postfix/qmgr[25934]: 6FB1A2F4001: from=<daniel@kerozene.de>, size=1870, nrcpt=1 (queue active)
Dec  5 00:44:30 pxxxxxxxx postfix/smtpd[26364]: disconnect from moutng.kundenserver.de[212.227.126.185]
Dec  5 00:44:30 pxxxxxxxx spamd[25075]: connection from localhost.localdomain [127.0.0.1] at port 43696
Dec  5 00:44:30 pxxxxxxxx spamd[26380]: info: setuid to nobody succeeded
Dec  5 00:44:30 pxxxxxxxx spamd[26380]: processing message <000101c3bac0$9aa026e0$0301a8c0@usnifaxp> for nobody:65534.
Dec  5 00:44:59 pxxxxxxxx spamd[26380]: clean message (0.0/5.0) for nobody:65534 in 28.5 seconds, 1858 bytes.
Dec  5 00:44:59 pxxxxxxxx postfix/pipe[26368]: 6FB1A2F4001: to=<web2p1@pxxxxxxxx.pureserver.info>, relay=procmail, delay=29, status=sent (pxxxxxxxx.pureserver.info)
/etc/procmailrc:

Code: Select all

### Verbose on = ausführliches Log
VERBOSE=on
LOGFILE=/var/log/procmail.log

DROPPRIVS=yes

# The condition line ensures that only messages smaller than 250 kB
# (250 * 1024 = 256000 bytes) are processed by SpamAssassin. Most spam
# isn`t bigger than a few k and working with big messages can bring
# SpamAssassin to its knees.

:0fw
* < 256000
| /usr/bin/spamc
:0e
{
EXITCODE=$?
}
#Bitte auskommentieren,wenn man die Spam-Mails wirklich löschen will:
# :0:
# Wenn es Spam ist, Mail löschen
# * ^X-Spam-Status: Yes
# /dev/null
#EOF
/etc/postfix/main.cf:

Code: Select all

#mailbox_command = /some/where/procmail
mailbox_command = /usr/sbin/procmail

#mailbox_transport = lmtp:unix:/file/name
mailbox_transport = procmail

/etc/postfix/master.cf:

Code: Select all

#
# DO NOT SHARE THE POSTFIX QUEUE BETWEEN MULTIPLE POSTFIX INSTANCES.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (50)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
smtps     inet  n       -       n       -       -       smtpd
  -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission     inet    n       -       n       -       -       smtpd
#  -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
#628      inet  n       -       n       -       -       qmqpd
pickup    fifo  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       n       300     1       nqmgr
#tlsmgr   fifo  -       -       n       300     1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
flush     unix  n       -       n       1000?   0       flush
smtp      unix  -       -       n       -       -       smtp
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
#localhost:10025 inet   n       -       n       -       -       smtpd -o content_filter=
#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
# The Cyrus deliver program has changed incompatibly.
#
cyrus     unix  -       n       n       -       -       pipe
  flags=R user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -m ${extension} ${user}
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
vscan     unix  -       n       n       -       10       pipe
  user=vscan argv=/usr/sbin/amavis ${sender} ${recipient}
procmail  unix  -       n       n       -       -       pipe
  flags=R user=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient}

dodolin
RSAC
Posts: 4009
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: Spamassassin läuft aber liefert an nobody

Post by dodolin » 2003-12-05 01:00

Muß ich in der procmailrc sagen, das er das wieder in die jeweiligen E-Maildateien schreibt, oder ist es der spamd, der hier irgendwas falsch einsortiert.
procmail musst du das sagen. Man kann es nicht oft genug wiederholen: SPAMASSASSIN (spamd) SORTIERT KEINE EMAILS, ER TAGGT SIE NUR!

daniel_p
Posts: 34
Joined: 2003-11-15 16:24

Re: Spamassassin läuft aber liefert an nobody

Post by daniel_p » 2003-12-05 08:26

Danke für die Antwort,

habe mich mit dem spamd wohl auf die falsche Fährte Locken lassen...

Code: Select all

spamd[26380]: processing message <000101c3bac0$9aa026e0$0301a8c0@usnifaxp> for nobody:65534
Habe mich nur irgendwie von dem "processing message (...) for nobody"
verwirrt gefühlt.

Liegt vielleicht ein anderes Problem vor??

Wie sage ich dem Procmail, das er an den betreffenden User ausliefert?
Dazu habe ich in den Beiträgen hier nix konkretes gefunden, die procmailrc ist auch aus dem Forum.

Code: Select all

postfix/pipe[26368]: 6FB1A2F4001: to=<web2p1@pxxxxxxxx.pureserver.info>, relay=procmail, delay=29, status=sent (pxxxxxxxx.pureserver.info) 
Hier steht ja wieder web2p1 als korrektes Postfach drin.

Ich verstehe das leider nicht & wäre für etwas Hilfe
weiterhin dankbar.

grüße,
Daniel

daniel_p
Posts: 34
Joined: 2003-11-15 16:24

procmail liefert immer noch an nobody

Post by daniel_p » 2003-12-07 19:22

Hallo, habe leider immer noch Probleme mit spamassassin und procmail.

Ich habe leider keine Idee mehr - procmail liefert immer an "nobody"...
Hier mal meine procmail Logdateii:

Code: Select all

procmail: Assigning "DROPPRIVS=yes"
procmail: Assuming identity of the recipient, VERBOSE=off
procmail: Match on "< 256000"
procmail: Executing "/usr/bin/spamc"
procmail: [26369] Fri Dec  5 00:44:01 2003
procmail: Locking "/var/spool/mail/nobody.lock"
procmail: Assigning "LASTFOLDER=/var/spool/mail/nobody"
procmail: Opening "/var/spool/mail/nobody"
procmail: Acquiring kernel-lock
procmail: Unlocking "/var/spool/mail/nobody.lock"
 Subject: TESTMAIL
  Folder: /var/spool/mail/nobody                                           1351
procmail: Assigning "DROPPRIVS=yes"
procmail: Assuming identity of the recipient, VERBOSE=off
procmail: Match on "< 256000"
procmail: Executing "/usr/bin/spamc"
procmail: [26377] Fri Dec  5 00:44:59 2003
procmail: Locking "/var/spool/mail/nobody.lock"
procmail: Assigning "LASTFOLDER=/var/spool/mail/nobody"
procmail: Opening "/var/spool/mail/nobody"
procmail: Acquiring kernel-lock
procmail: Unlocking "/var/spool/mail/nobody.lock"
 Subject: Test E.Mail
  Folder: /var/spool/mail/nobody                                           2010
procmail: Assigning "DROPPRIVS=yes"
procmail: Assuming identity of the recipient, VERBOSE=off
procmail: Match on "< 256000"
procmail: Executing "/usr/bin/spamc"
procmail: [23940] Sun Dec  7 19:03:47 2003
procmail: Locking "/var/spool/mail/nobody.lock"
procmail: Assigning "LASTFOLDER=/var/spool/mail/nobody"
procmail: Opening "/var/spool/mail/nobody"
procmail: Acquiring kernel-lock
procmail: Unlocking "/var/spool/mail/nobody.lock"
 Subject: SPAM
  Folder: /var/spool/mail/nobody                                           2011

warum nobody? liegts am spamd oder am procmaill....

danke!!

adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA

Re: Spamassassin läuft aber liefert an nobody

Post by adjustman » 2003-12-07 21:22

in der main.cf

mailbox_command = procmail -a "$EXTENSION"

und dann sortiert procmail auch richtig.
UND versuchs mal mit OPPRIVS=yes

daniel_p
Posts: 34
Joined: 2003-11-15 16:24

Re: Spamassassin läuft aber liefert an nobody

Post by daniel_p » 2003-12-07 23:06

Danke adjustMan für die Antwort. Leider funktioniert das immer noch nicht :roll: Weiß wriklich nicht mehr weiter. Post hier nochmal meine

/etc/procmailrc:

Code: Select all


LOGFILE=/var/log/procmail.log
VERBOSE=yes
LOGABSTRACT=all
#DROPPRIVS=yes
OPPPRIVS=yes

:0fw
* < 256000
| /usr/bin/spamc

#:0e
#{
#EXITCODE=$?
#}

#Bitte auskommentieren,wenn man die Spam-Mails wirklich löschen will:
# :0:
# Wenn es Spam ist, Mail löschen
# * ^X-Spam-Status: Yes
# /dev/null
#EOF

und immer noch diese Logeinträge in /var/log/procmail.log

Code: Select all

procmail: [26556] Sun Dec  7 22:48:20 2003
procmail: Assigning "LOGABSTRACT=all"
procmail: Assigning "OPPPRIVS=yes"
procmail: Match on "< 256000"
procmail: Executing "/usr/bin/spamc"
procmail: [26556] Sun Dec  7 22:48:48 2003
procmail: Locking "/var/spool/mail/nobody.lock"
procmail: Assigning "LASTFOLDER=/var/spool/mail/nobody"
procmail: Opening "/var/spool/mail/nobody"
procmail: Acquiring kernel-lock
procmail: Unlocking "/var/spool/mail/nobody.lock"
 Subject: TEST25
  Folder: /var/spool/mail/nobody                                           2008
Was genau bedeutet OPPRIVS? Dazu habe ich im Netz und der prccmail man page nichts gefunden. Oft steht da DROPPRIVS.

Ich glaube das Problem ist das procmail seine Privilegien verliert, als user nobody weiterläuft und hinterher nicht als nobody in die Mailboxen der anderen Benutzer schreiben kann ???? Ist natürlich nur eine Idee.

Irgendwie muß procmail vom Postfix mitbekommen, für welches Postfach die E-Mail bestimmt ist - und an diese muß es nach der Rückgabe vom spamc die E-MAil doch ausliefern... Muß es dann als der User aufgerufen werden, dem die E-Mail zugestellt werden soll?



Nochmals Vielen Dank im Voraus für Eure Hilfe!

daniel

adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA

Re: Spamassassin läuft aber liefert an nobody

Post by adjustman » 2003-12-08 00:19

schonmal die Rechte kontrolliert? Postfix, procmail und SA?

daniel_p
Posts: 34
Joined: 2003-11-15 16:24

Re: Spamassassin läuft aber liefert an nobody

Post by daniel_p » 2003-12-08 13:54

setze das 1&1 SuSE 8.1 ein und habe SpamAssassin aus den RPM installiert, weil ich wenig Ã?nderungen an diesem System wollte.

Werde die Rechte nachher noch abchecken.

Ein anderer Punkt: Kann das Problem daran liegen, das die User auf dem System keine Login shell haben (es sind ja Confixx User, "webXpX)??

adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA

Re: Spamassassin läuft aber liefert an nobody

Post by adjustman » 2003-12-08 15:12

daniel_p wrote:Kann das Problem daran liegen, das die User auf dem System keine Login shell haben (es sind ja Confixx User, "webXpX)??
Nein

daniel_p
Posts: 34
Joined: 2003-11-15 16:24

Re: Spamassassin läuft aber liefert an nobody

Post by daniel_p » 2003-12-08 23:09

Hallo adjustMan,

apropos Rechte abchecken, was meinst Du genau? Procmail laäuft als root und verliert seine Rechte dann an "nobody", oder? Wie liefert es dann in Mailboxen aus auf die nobody gar keine Rechte hat??

Oder hat es was mit dem OPPRIVS=yes zu tun ?

Spamd läuft ebenfalls alls nobody, aber der taggt ja nur ;-)

Was ich auch nicht verstehe ist, der letzte Logeintrag vom Postfix nach dem spamcheck. Da steht ja noch eindeutig der Empfänger web2p1 drin. Folglich muß es wirklich procmail sein, der das mit dem einsortiren nicht hinbekommt.

Code: Select all

Dec  5 00:44:59 pxxxxxxxx postfix/pipe[26368]: 6FB1A2F4001: to=<web2p1@pxxxxxxxx.pureserver.info>, relay=procmail, delay=29, status=sent (pxxxxxxxx.pureserver.info) 

by the way:
mailbox_command = procmail -a "$EXTENSION"
Was konkret bedeutet das $EXTENSION hier?



Danke!

daniel[/code]

adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA

Re: Spamassassin läuft aber liefert an nobody

Post by adjustman » 2003-12-08 23:37

daniel_p wrote:... Procmail laäuft als root
Nein, läuft als nobody. Schau Dir mal Deine master.cf an. Und kommentier die procmail Section mal aus.

daniel_p
Posts: 34
Joined: 2003-11-15 16:24

Re: Spamassassin läuft aber liefert an nobody

Post by daniel_p » 2003-12-09 00:28

auskommentiert.

Code: Select all

Dec  9 00:22:56 pxxxxxxxx postfix/smtpd[6978]: connect from moutng.kundenserver.de[212.227.126.188]
Dec  9 00:22:56 pxxxxxxxx postfix/smtpd[6978]: 06FA12F4001: client=moutng.kundenserver.de[212.227.126.188]
Dec  9 00:22:56 pxxxxxxxx postfix/cleanup[6979]: 06FA12F4001: message-id=<003001c3bde2$45fa0e60$5501a8c0@usnifaxp>
Dec  9 00:22:56 pxxxxxxxx postfix/qmgr[6973]: 06FA12F4001: from=<daniel@kerozene.de>, size=1862, nrcpt=1 (queue active)
Dec  9 00:22:56 pxxxxxxxx postfix/local[6981]: warning: connect #1 to subsystem private/procmail: Connection refused
Dec  9 00:22:56 pxxxxxxxx postfix/smtpd[6978]: disconnect from moutng.kundenserver.de[212.227.126.188]
Dec  9 00:23:06 pxxxxxxxx postfix/local[6981]: warning: connect #2 to subsystem private/procmail: Connection refused
Dec  9 00:23:16 pxxxxxxxx postfix/local[6981]: warning: connect #3 to subsystem private/procmail: Connection refused
Dec  9 00:23:26 pxxxxxxxx postfix/local[6981]: warning: connect #4 to subsystem private/procmail: Connection refused
Dec  9 00:23:36 pxxxxxxxx postfix/local[6981]: warning: connect #5 to subsystem private/procmail: Connection refused
Dec  9 00:23:46 pxxxxxxxx postfix/local[6981]: warning: connect #6 to subsystem private/procmail: Connection refused
Dec  9 00:23:56 pxxxxxxxx postfix/local[6981]: warning: connect #7 to subsystem private/procmail: Connection refused
Dec  9 00:24:06 pxxxxxxxx postfix/local[6981]: warning: connect #8 to subsystem private/procmail: Connection refused
Dec  9 00:24:16 pxxxxxxxx postfix/local[6981]: warning: connect #9 to subsystem private/procmail: Connection refused
Dec  9 00:24:26 pxxxxxxxx postfix/local[6981]: warning: connect #10 to subsystem private/procmail: Connection refused
Dec  9 00:24:36 pxxxxxxxx postfix/local[6981]: fatal: connect #11 to subsystem private/procmail: Connection refused
Dec  9 00:24:37 pxxxxxxxx postfix/master[6969]: warning: process /usr/lib/postfix/local pid 6981 exit status 1
Dec  9 00:24:37 pxxxxxxxx postfix/master[6969]: warning: /usr/lib/postfix/local: bad command startup -- throttling
Dec  9 00:24:37 pxxxxxxxx postfix/qmgr[6973]: warning: premature end-of-input from private/local socket while reading input attribute name
Dec  9 00:24:37 pxxxxxxxx postfix/qmgr[6973]: warning: private/local socket: malformed response
Dec  9 00:24:37 pxxxxxxxx postfix/qmgr[6973]: warning: transport local failure -- see a previous warning/fatal/panic logfile record for the problem description
nun findet er scheinbar das procmail nicht mehr...


aber die Mails werden weder ausgeliefert. Allerdings ohne Spamassassin (klar) ...

adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA

Re: Spamassassin läuft aber liefert an nobody

Post by adjustman » 2003-12-09 00:34

also, wenn Du in der main.cf den Eintrag mit mailbox_command = procmail -a "$EXTENSION" stehen hast, brauchts den master.cf Eintrag nicht mehr.

daniel_p
Posts: 34
Joined: 2003-11-15 16:24

Danke!

Post by daniel_p » 2003-12-10 00:06

Danke adjustMan,
deine Tipps waren Gold wert! Hat zwar nen Moment bei mir gedauert das Problem zu lösen, aber nun gehts. IMHO waren procmail und sa unschuldig, und das Problem war ein doppelter Eintrag in main.cf

Code: Select all

#mailbox_command = /some/where/procmail
mailbox_command = /usr/sbin/procmail

#mailbox_transport = lmtp:unix:/file/name
mailbox_transport = procmail 
mit

Code: Select all

mailbox_command = procmail -a "$EXTENSION"
alleine gehts.

adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA

Re: Spamassassin läuft aber liefert an nobody

Post by adjustman » 2003-12-10 00:18

na dann is ja gut. :-D Man wird schnell mal betriebsblind, gelle?