Unzutreffende Logmeldungen - ??
Volker Wysk
post at volker-wysk.de
So Mär 11 02:46:48 CET 2018
Am Sonntag, 11. März 2018, 01:48:46 CET schrieb Alexander Dalloz:
> Am 10.03.2018 um 21:01 schrieb Volker Wysk:
> > Hallo!
> >
> > Ich habe ein externes Skript namens bmf-learn-spam.sh (zum Trainieren eines Spamfilters), das aufgerufen werden soll. In den Logdateien findet sich:
> >
> > Mar 10 20:45:02 imap(v): Debug: sieve: action pipe: running program: bmf-learn-spam.sh
> > ...
> > Mar 10 20:45:02 imap(v): Debug: waiting for program `/usr/lib/dovecot/sieve/bmf-learn-spam.sh' to finish after 7 msecs
> > Mar 10 20:45:02 imap(v): Info: sieve: pipe action: piped message to program `bmf-learn-spam.sh'
> >
> > Da steht also, daß es erfolgreich aufgerufen worden ist. Leider stimmt das nicht. Das Skript sieht so aus:
> >
> > ----schnipp----
> > #!/bin/sh
> >
> > /bin/date >> /tmp/bmf-learn-spam
> > echo $@ >> /tmp/bmf-learn-spam
> >
> > exec /usr/bin/bmf -s -p -d /home/$1/.bmf
> > ----schnapp----
> >
> > Die Logdatei /tmp/bmf-learn-spam wird nicht angelegt. (Leider hat der Spamfilter (bmf) keine Logfunkion). Die Veränderungszeitstempel der Daten des Spamfilters ändern sich auch nicht.
> >
> > Was stimmt also nicht..? Stimmen die Dovecot-Logmeldungen nicht? Ich habe jetzt ein paar Stunden damit verbracht, und jetzt weiß ich nicht mehr weiter. :-(
>
> [ ... ]
> Lass mich raten, im dovecot.service unit File steht
>
> PrivateTmp=true
>
> Siehe https://www.freedesktop.org/software/systemd/man/systemd.exec.html
Stimmt genau!
Wenn ich /tmp/bmf-learn-spam durch /bmf-learn-spam ersetze, dann geht es. Dafür muß natürlich dieses /bmf-learn-spam erst leer erzeugt werden und die Schreibrechte gewährt werden.
Das Skript wird also von Dovecot richtig aufgerufen.
Vielen Dank für den Tip!
Volker
Mehr Informationen über die Mailingliste Dovecot