[postfix-users] Postfix 2.9.3 und Cyrus SASL2 lmtp Problem

Joerg Streckfuss joerg.streckfuss at FernUni-Hagen.de
So Feb 24 12:58:24 CET 2013


Am 23.02.2013 20:25, schrieb Patrick Ben Koetter:
> * Joerg Streckfuss <joerg.streckfuss at FernUni-Hagen.de>:
>> nachdem ich meinen Mailserver von OpenBSD 5.1 auf 5.2 aktualisiert
>> habe, möchte der local Daemon keine Mails an den Cyrus-IMAP
>> abliefern. Postfix beschwert sich dann mit der folgenden
>> Fehlermeldung:
>>
>> <snip>
>> postman postfix/smtpd[26245]: warning: SASL authentication failure:
>> no user in db
>> postman postfix/smtpd[26245]: NOQUEUE:
>> client=xxx.xxx.xxx.xxx.net[xxx.xxx.xxx.xxx], sasl_method=PLAIN,
>> sasl_username=foobar at domain.org
>> ...
>> postman postfix/local[2037]: warning: error looking up passwd info
>> for foobar: Operation not permitted
>> ...
>> postman postfix/local[2037]: 8BF9B51480F:
>> to=<foobar at mailserver.domain.org>, orig_to=<foobar at domain.org>,
>> relay=local, delay=0.07,
>> delays=0.05/0.01/0/0.01, dsn=4.0.0, status=deferred (user lookup error)
>> ...
>> <snap>
>>
>> Die Meldung "SASL authentication failure: no user in db" vom smtpd
>> kann ich nicht so recht einordnen. Denn der folgende Test ist
>> erfolgreich:
> Du hast einen Fehler, aber ich sehe nicht, dass er mit der Einlieferung
> zusammenhängt. Die Fehlermeldung kommt vom Postfix SMTP Server 'smtpd' und
> nicht vom local.
Nun das wundert mich eben auch. Ich kann übrigens Mails mit meinem
Client absenden. Wenn ich an meine eigene Adresse eine Email verschicke
wird sie vom smtpd angenommen, landet dann allerdings in der deferred
Queue. D.h. das versenden von Mails klappt. Nur das Zustellen der Mails
an die Postfächer scheint irgendwie gestört zu sein. Hier die Ausgabe
von postqueue -p:

<snip>
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
464D551480A     5508 Fri Feb 22 23:06:44 xxx0105 at xxx.de
                                                           (user lookup
error)
                                         foobar at meinedomain.org

48408514809     1201 Fri Feb 22 21:41:48  foobar at meinedomain.org
                                                           (user lookup
error)
                                         foobar at meinserver.meinedomain.org

BBD4551485F   472893 Sat Feb 23 01:30:41  foobar at meinedomain.org
                                                           (user lookup
error)
                                         foobar at meinserver.meinedomain.org

B36C551485D     1526 Sun Feb 24 12:43:50  foobar at meinedomain.org
                                                           (user lookup
error)
                                         foobar at meinserver.meinedomain.org
...
<snap>

>> <snip>
>> # openssl s_client -connect <meinmailserver>:25 -starttls smtp
>> verify error:num=18:self signed certificate
>> ...
>> ---
>> 250 8BITMIME
>> AUTH PLAIN DASGEHEIMEPASSWORT
>> 235 2.7.0 Authentication successful
>> <snap>
>>
>> Meine Konfiguration sieht wie folgt aussieht. Klienten
>> authentifizieren sich per sasl2db. Die scheint wie oben zu sehen
>> auch zu klappen. Mails werden per lmtp (unix socket) an den
> Deinem Log nach klappt das nicht. Es meldet "SASL authentication failure" und
> sagt im Weiteren der User sei nicht in der sasldb.
Richtig. sasldblistusers2 listet aber alle relevanten User auf.
Desweiteren habe ich die Datenbank nicht geändert.
>
>> cyrus-imap abgeliefert. Und hier scheint es dann zu klemmen. Der
>> Socket befindet sich in /var/spool/postfix/public/ und hat die
>> korrekten Rechte root:_postdrop. Da ich an der Konfiguration nichts
> Postfix läuft als user postfix. Wenn der Socket root:postdrop gehört, ist es
> gut möglich, dass da Dein Fehler liegt. Eine Fehlermeldun deutet auch darauf
> hin: "Operation not permitted".
Also der Socket hat folgende Rechte:

srwxrwxrwx  1 root  _postdrop     0B Feb 23 19:02
/var/spool/postfix/public/lmtp

Demnach hat doch Gott und die Welt Zugriff auf den Socket. Ich habe den
Socket testweise mal postfix gegen:

srwxrwxrwx   1 _postfix  _postdrop     0B Feb 23 19:02 lmtp

Dies hat allerdings nichts geändert. Ich meine auch das der local Daemon
als User _postdrop läuft.

>
>> geändert habe, außer eben ein Update von Postfix 2.8.8 auf Postfix
>> 2.9.3, cyrus-imap-2.4.13 auf cyrus-imapd-2.4.16p0 sowie
>> cyrus-sasl-2.2.25p2 auf cyrus-sasl-2.1.25p3 vermute ich eine
>> Inkompatibilität zwischen den neuen Versionen.
> Halte ich für sehr unwahrscheinlich und würde ich vorerst nicht weiter
> verfolgen. Mal so rum: Wenn Du Dich an den Cyrus IMAP anmelden kannst UND wenn
> Postfix und Cyrus IMAP beider die sasldb2 nutzen, dann hast Du durch die
> Anmeldung bewiesen, dass keine Inkompatibilität vorliegt denn beide - Postfix
> und Cyrus - nutzen Cyrus SASL und damit dieselbe libsasl.
Authentifizierung am Imap klappt. das scheint soweit kein Problem zu sein.

>> Gibt es eine Möglichkeit wie ich lmtp zwischen Postfix und Cyrus
>> sinnvoll testen kann, bzw. weiß vielleicht jemand woran es hapern
>> könnte?
> Check mal die permissions für den Socket.
Hab ich gemacht (siehe oben). Leider keine Änderung. :(
Bin im Moment echt ratlos.

Gruß Jörg


Mehr Informationen über die Mailingliste postfix-users