On Thu, Apr 08, 2004 at 08:49:37AM +0200, Bernd Ledig wrote:
Hallo Liste,
ich habe ein Problem mit procmail. Ziel ist es, dass spam-emails gleich in das Maildir-Verzeichnis .spam des jeweiligen Users abgelegt werden. Dazu habe ich folgende /etc/procmailrc angelegt:
===== /etc/procmailrc ====== DEFAULT = $HOME/Maildir/ LOGFILE=$HOME/procmail.log LOGABSTRACT=yes VERBOSE=no
## spam-check :0fW | spamassassin -a
:0:
- ^X-Spam-Status: Yes
$HOME/Maildir/.spam/
das sieht gut aus.
Als Mailserver kommt postfix zum einsatz. Dort steht in der main.cf:
mailbox_command = procmail -a "$EXTENSION"
spam-Verzeichnis des jeweiligen Users. Nur habe alle diese mails als Eigentümer root und daher für den User nicht lesbar. Z.B.:
das ist seltsam, denn (aus meiner kommentierten main.cf):
# The mailbox_command parameter specifies the optional external # command to use instead of mailbox delivery. The command is run as # the recipient with proper HOME, SHELL and LOGNAME environment settings. # Exception: delivery for root is done as $default_user. # # Other environment variables of interest: USER (recipient username), # EXTENSION (address extension), DOMAIN (domain part of address), # and LOCAL (the address localpart). # # Unlike other Postfix configuration parameters, the mailbox_command # parameter is not subjected to $parameter substitutions. This is to # make it easier to specify shell syntax (see example below). # # Avoid shell meta characters because they will force Postfix to run # an expensive shell process. Procmail alone is expensive enough. # # IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN # ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER. # #mailbox_command = /some/where/procmail #mailbox_command = /some/where/procmail -a "$EXTENSION"
was mich wundert ist, daß dein postfix als root läuft (bzw. den maildrop als root ausführt), denn laut der obigen beschreibung wechselt er jeweils zum auzuliefernden user, bevor er procmail aufruft. Da das mit "$HOME" in der procmailrc auch zu funktionieren scheint, ist es noch verwunderlicher, daß procmail als root läuft. Dein procmail ist nicht zufällig suid root (warum auch immer)?
Wie erreiche ich nun, dass diese mails als Eigentümer den jeweiligen User bekommen?
Sorry, eine genaue Diagnose kann ich auch nicht stellen, aber evtl. sind es ja Tips, wo du suchen mußt.
Ansonsten erzähl mal: welche Versionen, welche Distribution, du weißt schon, was man halt so zur Diagnose braucht.