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