Am 23.02.2013 20:25, schrieb Patrick Ben Koetter:
- Joerg Streckfuss joerg.streckfuss@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@domain.org ... postman postfix/local[2037]: warning: error looking up passwd info for foobar: Operation not permitted ... postman postfix/local[2037]: 8BF9B51480F: to=<foobar@mailserver.domain.org>, orig_to=<foobar@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@xxx.de (user lookup error) foobar@meinedomain.org
48408514809 1201 Fri Feb 22 21:41:48 foobar@meinedomain.org (user lookup error) foobar@meinserver.meinedomain.org
BBD4551485F 472893 Sat Feb 23 01:30:41 foobar@meinedomain.org (user lookup error) foobar@meinserver.meinedomain.org
B36C551485D 1526 Sun Feb 24 12:43:50 foobar@meinedomain.org (user lookup error) foobar@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