Hi,
ich habe zwar 2 Cyrus IMAP-Server am laufen (SUSE 9.2 und 9,3), kapiere aber den AUthentifizierungsvorgang nicht (mehr).
(Durch meinen Nachtrag glaube ich der Sache bereits auf der Spur zu sein: die Auth-KOnfig bezieht sich nur auf den imapd und auf den Login der IMAP-CLients. Die Tools wie cyradm verwenden wohl eine andere Methode - warum auch immer).
Also folgendes ist im imapd.conf eingestellt:
Code:
sasl_pwcheck_method saslauthd
Nichts mit "auxprop"!
Der "saslauthd" läuft mit
In /etc/pam.d/imap finde ich (indirekt über includes)
Code:
auth required pam_env.so
auth required pam_unix2.so
account required pam_unix2.so
password required pam_pwcheck.so nullok
password required pam_unix2.so nullok use_first_pass use_authok
Ich vermute, dass "unix2.so" im wesentlichen einen Authentifizierung gegen /etc/shadow bedeutet.
Jetzt habe ich gerade unter SUSE 10.0 einen frischen Cyrus eingespielt mit diesen Einstellungen und bekomme bei einem login-Versuch mit "cyradm" folgende Messages:
Code:
Dec 18 12:14:35 frodo master[7099]: about to exec /usr/lib/cyrus/bin/imapd
Dec 18 12:14:35 frodo imap[7099]: executed
Dec 18 12:14:35 frodo imap[7099]: accepted connection
Dec 18 12:14:35 frodo imap[7099]: DIGEST-MD5 server step 1
Dec 18 12:14:35 frodo perl: DIGEST-MD5 client step 2
Dec 18 12:14:38 frodo imap[7099]: DIGEST-MD5 server step 2
Dec 18 12:14:38 frodo imap[7099]: unable to open Berkeley db /etc/sasldb2: No such file or directory
Dec 18 12:14:38 frodo imap[7099]: unable to open Berkeley db /etc/sasldb2: No such file or directory
Dec 18 12:14:38 frodo imap[7099]: no secret in database
Dec 18 12:14:38 frodo imap[7099]: badlogin: localhost [127.0.0.1] DIGEST-MD5 [SASL(-13): user not found: no secret in database]
Dec 18 12:14:41 frodo perl: No worthy mechs found
NACHTRAG: Ein normaler Login vom IMAP-Client geht! Dort kommt entsprechend auch eine positive Message über einen erfolgreichen "plaintext login". Also scheint "cyradm" ein anderes Auth-Verfahren zu nutzen, als der IMAP-Client. Das führt zur Zusatzfrage 3 (s.u.)
Frage 1:
Warum in aller Welt brauche ich eine "sasldb2"???
Laut Doku ist die sasldb2 die Datenbank, die für "sasl_pwcheck_method auxprop" (bei Auswahl von sasldb als sasl_auxprop_plugin) ANSTELLE saslauthd verwendet werden könnte (bei mir aber nicht werden sollte). Auch in saslauthd gibt es keinen Hinweis, dass der in einer eigenen Datenbank nachschlagen sollte.
Frage 2:
Laut Doku ist das saslauthd Verfahren für eine direkte Password-verification, also nicht über einen Hash, wie bei den shared secret Mechanismen, wie z.B. Digest-MD5. In den Messages passiert aber etwas mit Digest-MD5. Wo kommt das bei obiger Konfig ins Spiel - ich hätte das nicht erwartet.
Nachtrag-Frage 3:
Wenn "cyradm" bzw. die Cyrus-Tools ein anderes Auth-Verfahren verwenden: welches? Kann man das einstellen? Ist es selbstverständlich, dass hier von dem für den imapd eingestellten Verfahren abgewichen wird oder warum macht man das so?
(Ich kann natürlich dem Server jetzt wieder eine /etc/sasldb2 mittel saslpasswd2 erzeugen, aber ich hätte gerne gewußt, wie der Kram zusammenhängt!)
Danke im voraus!
Grüße
Thomas
Lesezeichen