cyradm gegen sasdb authentifizieren
Hallo, Auf dem System SuSE-9.2 ich möchte bei cyrus-imapd, daß cyradm die Administratoren durch sasl auxprop sasldb authentifiziert werden und nicht durch saslauthd gegen PAM. Das Vorhaben ist edel, die Realalisation stößt auf Hindernisse. Ich kann machen was ich will, es kommt immer die Meldung: 'No user found cannot authenticate to server' Hier mal ein Beispiel der Versuche cyradm --auth digest-md5 -u cyrus <fqhn> Ich habe alle Mechanismen und Hostnamen durch, mit Ausnahme von GSSAPI funktioniert nichts.Nach einem strace habe ich den Eindruck gewonnen, daß Perl Authen::SASL und Perl::Digest die Challenge von sasldb falsch interpretieren. Um eine Frage im voraus zu beantworten, ja, die User sind sind in sasldb angelegt und können durch andere Anwendungen authentifiziert werden. Hat jemand einen Hinweis und einen Rat? -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53
Am Dienstag, 1. Februar 2005 18:28 schrieb Dieter Kluenter:
Auf dem System SuSE-9.2 ich möchte bei cyrus-imapd, daß cyradm die Administratoren durch sasl auxprop sasldb authentifiziert werden und nicht durch saslauthd gegen PAM. Das Vorhaben ist edel, die Realalisation stößt auf Hindernisse. Ich kann machen was ich will, es kommt immer die Meldung: 'No user found cannot authenticate to server' Hier mal ein Beispiel der Versuche
cyradm --auth digest-md5 -u cyrus <fqhn>
Was sind denn für Mechanismen installiert? Wie sieht die /etc/imapd.conf aus? Welchen Realm/Domainpart haben die Einträge in der sasldb? Stimmen die Zugriffsrechte auf die sasldb? cyrus:mail o.ä. (AFAIR war da bei der 9.2 was zu verändern) Was kommt im Log /var/log/messages.
Ich habe alle Mechanismen und Hostnamen durch, mit Ausnahme von GSSAPI funktioniert nichts.Nach einem strace habe ich den Eindruck gewonnen, daß Perl Authen::SASL und Perl::Digest die Challenge von sasldb falsch interpretieren. Um eine Frage im voraus zu beantworten, ja, die User sind sind in sasldb angelegt und können durch andere Anwendungen authentifiziert werden. Hat jemand einen Hinweis und einen Rat?
-- Andreas
Andreas Winkelmann
Am Dienstag, 1. Februar 2005 18:28 schrieb Dieter Kluenter:
Auf dem System SuSE-9.2 ich möchte bei cyrus-imapd, daß cyradm die Administratoren durch sasl auxprop sasldb authentifiziert werden und nicht durch saslauthd gegen PAM. Das Vorhaben ist edel, die Realalisation stößt auf Hindernisse. Ich kann machen was ich will, es kommt immer die Meldung: 'No user found cannot authenticate to server' Hier mal ein Beispiel der Versuche
cyradm --auth digest-md5 -u cyrus <fqhn>
Was sind denn für Mechanismen installiert?
libanonymous.so.2.0.20 libcrammd5.so.2.0.20 libdigestmd5.so.2.0.20 libgssapiv2.so.2.0.20 libbldapdb.so.2.0.20 libplain.so.2.0.20 lbsasldb.so.2.0.20
Wie sieht die /etc/imapd.conf aus?
sasl_pwcheck_method: auxprop # sasl_auxprop_plugin: ldapdb sasl_auxprop_plugin: sasldb #sasl_mech_list: digest-md5 cram-md5 gssapi
Welchen Realm/Domainpart haben die Einträge in der sasldb?
orange:/etc # strings sasldb2 richtigesPassword cyrus orange userPassword richtigesPassword dieter orange userPassword
Stimmen die Zugriffsrechte auf die sasldb? cyrus:mail o.ä. (AFAIR war da bei der 9.2 was zu verändern)
ja, cyrus.mail
Was kommt im Log /var/log/messages.
orange:/etc # cyradm --auth digest-md5 --user cyrus orange Password: cyradm: cannot authenticate to server with digest-md5 as cyrus orange:/var/log # tail -50 localmessages orange imapd[1543]: badlogin: orange.l4b.de[192.168.100.33] DIGEST-MD5 [SASL(-13): user not found: no secret in database]
Ich habe alle Mechanismen und Hostnamen durch, mit Ausnahme von GSSAPI funktioniert nichts.Nach einem strace habe ich den Eindruck gewonnen, daß Perl Authen::SASL und Perl::Digest die Challenge von sasldb falsch interpretieren. Um eine Frage im voraus zu beantworten, ja, die User sind sind in sasldb angelegt und können durch andere Anwendungen authentifiziert werden. Hat jemand einen Hinweis und einen Rat?
Bevor jetzt die Antwort kommt, versuche mal saslpasswd2 -c -u orange.l4b.de cyrus, oder auch saslpasswd2 mit den Schaltern -a -u -c, habe ich alles durch und in allen Variationen. Der einzige Mechanismus der funktioniert ist GSSAPI, aber für cyrus als Systemuser kinit auszuführen, ist etwas umständlich. -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53
Am Samstag, 5. Februar 2005 10:14 schrieb Dieter Kluenter:
Auf dem System SuSE-9.2 ich möchte bei cyrus-imapd, daß cyradm die Administratoren durch sasl auxprop sasldb authentifiziert werden und nicht durch saslauthd gegen PAM. Das Vorhaben ist edel, die Realalisation stößt auf Hindernisse. Ich kann machen was ich will, es kommt immer die Meldung: 'No user found cannot authenticate to server' Hier mal ein Beispiel der Versuche
cyradm --auth digest-md5 -u cyrus <fqhn>
Was sind denn für Mechanismen installiert?
libanonymous.so.2.0.20 libcrammd5.so.2.0.20 libdigestmd5.so.2.0.20 libgssapiv2.so.2.0.20 libbldapdb.so.2.0.20 libplain.so.2.0.20 lbsasldb.so.2.0.20
Wie sieht die /etc/imapd.conf aus?
sasl_pwcheck_method: auxprop # sasl_auxprop_plugin: ldapdb sasl_auxprop_plugin: sasldb #sasl_mech_list: digest-md5 cram-md5 gssapi
Hmm, ist nicht alles, oder? Hast Du "servername" gesetzt? Wenn ja, worauf? Wenn nicht, was kommt nach "hostname": $ hostname
Welchen Realm/Domainpart haben die Einträge in der sasldb?
orange:/etc # strings sasldb2 richtigesPassword cyrus orange userPassword richtigesPassword dieter orange userPassword
sasldblistusers[2] hätte gereicht.
Was kommt im Log /var/log/messages.
orange:/etc # cyradm --auth digest-md5 --user cyrus orange Password: cyradm: cannot authenticate to server with digest-md5 as cyrus
orange:/var/log # tail -50 localmessages orange imapd[1543]: badlogin: orange.l4b.de[192.168.100.33] DIGEST-MD5 [SASL(-13): user not found: no secret in database]
Alternativ könntest Du mal "imtest" zum testen benutzen. $ imtest -a cyrus -u cyrus localhost -- Andreas
Andreas Winkelmann
Am Samstag, 5. Februar 2005 10:14 schrieb Dieter Kluenter: [...]
Wie sieht die /etc/imapd.conf aus?
sasl_pwcheck_method: auxprop # sasl_auxprop_plugin: ldapdb sasl_auxprop_plugin: sasldb #sasl_mech_list: digest-md5 cram-md5 gssapi
Hmm, ist nicht alles, oder?
Nein aber der Rest ist unbedeutend, aber hier ist der vollst�ndige Eintrag: ,----[ imapd.conf ] | configdirectory: /var/lib/imap | partition-default: /var/spool/imap | sievedir: /var/lib/sieve | admins: cyrus | allowanonymouslogin: no | autocreatequota: 10000 | reject8bit: no | quotawarn: 90 | timeout: 30 | poptimeout: 10 | dracinterval: 0 | drachost: localhost | sasl_pwcheck_method: auxprop | sasl_auxprop_plugin: sasldb | # sasl_auxprop_plugin: ldapdb | #ldapdb_uri: ldapi://%2Fusr%2Flocal%2Fvar%2Frun%2Fldapi | #ldapdb_id: admanager | #ldapdb_pw: xxxx | #ldapdb_mech: DIGEST-MD5 | lmtp_overquota_perm_failure: no `----
Hast Du "servername" gesetzt? Wenn ja, worauf? Wenn nicht, was kommt nach "hostname":
Kein hostname oder servername gesetzt, hostname gibts es nicht mehr in man imapd.conf(5) und servername nimmt als default gethostbyname.
Welchen Realm/Domainpart haben die Eintr�ge in der sasldb?
orange:/etc # strings sasldb2 richtigesPassword cyrus orange userPassword richtigesPassword dieter orange userPassword
sasldblistusers[2] h�tte gereicht.
da verbiege ich mir immer die Finger :-)
Was kommt im Log /var/log/messages.
orange:/etc # cyradm --auth digest-md5 --user cyrus orange Password: cyradm: cannot authenticate to server with digest-md5 as cyrus
orange:/var/log # tail -50 localmessages orange imapd[1543]: badlogin: orange.l4b.de[192.168.100.33] DIGEST-MD5 [SASL(-13): user not found: no secret in database]
Alternativ k�nntest Du mal "imtest" zum testen benutzen.
$ imtest -a cyrus -u cyrus localhost
dieter@orange:~> imtest -a cyrus -u cyrus -m digest-md5 localhost S: * OK orange Cyrus IMAP4 v2.1.15 server ready C: C01 CAPABILITY S: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES IDLE AUTH=GSSAPI AUTH=CRAM-MD5 AUTH=DIGEST-MD5 ANNOTATEMORE X-NETSCAPE S: C01 OK Completed C: A01 AUTHENTICATE DIGEST-MD5 S: + bm9uY2U9Ilk1R0REZG9qbXdJOFdGWVgyOVVjMFVVZC90emNlcXl5cXZEQll5V3Rydzg9IixyZWFsbT0ib3JhbmdlIixxb3A9ImF1dGgsYXV0aC1pbnQsYXV0aC1jb25mIixjaXBoZXI9InJjNC00MCxyYzQtNTYscmM0LGRlcywzZGVzIixtYXhidWY9NDA5NixjaGFyc2V0PXV0Zi04LGFsZ29yaXRobT1tZDUtc2Vzcw== Please enter your password: C: dXNlcm5hbWU9ImN5cnVzIixyZWFsbT0ib3JhbmdlIixub25jZT0iWTVHRERkb2ptd0k4V0ZZWDI5VWMwVVVkL3R6Y2VxeXlxdkRCWXlXdHJ3OD0iLGNub25jZT0iWmxCZGtWcnhCVENnVkVBajh4RjE4U0VoV0l2WHFaNjQwY01lelpHMExpST0iLG5jPTAwMDAwMDAxLHFvcD1hdXRoLWNvbmYsY2lwaGVyPXJjNCxtYXhidWY9MTAyNCxkaWdlc3QtdXJpPSJpbWFwL2xvY2FsaG9zdCIscmVzcG9uc2U9ZGM1ZDJiMTM2M2ZjNmY2Mzc4ZGRhOTUwZWQzNjJmOWU= S: |%/1��iso8859-15�6@%/1��iso8859-15¸¸j@p%/1��iso8859-15�*t@S@PS@`S@pS@`@%/1��iso8859-15�@%/1��iso8859-15�@@%/1��iso8859-15�@0@P@%/1��iso8859-15�@@@%/1��iso8859-15���l@%/1��iso8859-15�n@d: Successful return: 0 base64 decoding error Authentication failed. generic failure Security strength factor: 128 ^[[?1;2c%/1��iso8859-15¨���¨�@%/1��iso8859-15¸¸p`%/1��iso8859-15��7@ A01 NO user not found Jetzt habe ich aber einen Hinweis, dass base64 Kodierung fehlerhaft ist. Also liegt das Problem vermutlich in meiner iso8859-15 Umgebung. Sollte aber nicht sein. -Dieter -- Dieter Kl�nter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53
Am Samstag, 5. Februar 2005 15:55 schrieb Dieter Kluenter:
Nein aber der Rest ist unbedeutend, aber hier ist der vollst�ndige Eintrag:
,----[ imapd.conf ]
| configdirectory: /var/lib/imap | partition-default: /var/spool/imap | sievedir: /var/lib/sieve | admins: cyrus | allowanonymouslogin: no | autocreatequota: 10000 | reject8bit: no | quotawarn: 90 | timeout: 30 | poptimeout: 10 | dracinterval: 0 | drachost: localhost | sasl_pwcheck_method: auxprop | sasl_auxprop_plugin: sasldb | lmtp_overquota_perm_failure: no
`----
Hast Du "servername" gesetzt? Wenn ja, worauf? Wenn nicht, was kommt nach "hostname":
Kein hostname oder servername gesetzt, hostname gibts es nicht mehr in man imapd.conf(5) und servername nimmt als default gethostbyname.
Mit hostname meinte ich den Namen des Rechners, wo Cyrus-Imapd drauf läuft, bzw. was der gleichlautende Befehl in der Shell ausgibt. Um einen Eintrag in der sasldb zu finden, wird nach Username und Realm gesucht. Gibt es keinen Eintrag der auf beides passt, kommt das häufig zu sehende "user not found" oder auch "no user in db". Der Username ist der der vom Client kommt aber der Realm ist bei Cyrus-Imap nicht so einfach zu kontrollieren. Per default ist es der Name des Rechners, was auch "hostname" in der Shell ausgibt, es sei denn Du definierst es mit "servername" in der imapd.conf um. Darauf zielten meine Fragen.
Welchen Realm/Domainpart haben die Eintr�ge in der sasldb?
orange:/etc # strings sasldb2
sasldblistusers[2] h�tte gereicht.
da verbiege ich mir immer die Finger :-)
:-)
Alternativ k�nntest Du mal "imtest" zum testen benutzen.
$ imtest -a cyrus -u cyrus localhost
dieter@orange:~> imtest -a cyrus -u cyrus -m digest-md5 localhost S: * OK orange Cyrus IMAP4 v2.1.15 server ready C: C01 CAPABILITY S: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES IDLE AUTH=GSSAPI AUTH=CRAM-MD5 AUTH=DIGEST-MD5 ANNOTATEMORE X-NETSCAPE S: C01 OK Completed C: A01 AUTHENTICATE DIGEST-MD5 S: + bm9uY2U9Ilk1R0REZG9qbXdJOFdGWVgyOVVjMFVVZC90emNlcXl5cXZEQll5V3Rydzg9IixyZWF sbT0ib3JhbmdlIixxb3A9ImF1dGgsYXV0aC1pbnQsYXV0aC1jb25mIixjaXBoZXI9InJjNC00MCx yYzQtNTYscmM0LGRlcywzZGVzIixtYXhidWY9NDA5NixjaGFyc2V0PXV0Zi04LGFsZ29yaXRobT1 tZDUtc2Vzcw== Please enter your password: C: dXNlcm5hbWU9ImN5cnVzIixyZWFsbT0ib3JhbmdlIixub25jZT0iWTVHRERkb2ptd0k4V0ZZWDI 5VWMwVVVkL3R6Y2VxeXlxdkRCWXlXdHJ3OD0iLGNub25jZT0iWmxCZGtWcnhCVENnVkVBajh4RjE 4U0VoV0l2WHFaNjQwY01lelpHMExpST0iLG5jPTAwMDAwMDAxLHFvcD1hdXRoLWNvbmYsY2lwaGV yPXJjNCxtYXhidWY9MTAyNCxkaWdlc3QtdXJpPSJpbWFwL2xvY2FsaG9zdCIscmVzcG9uc2U9ZGM 1ZDJiMTM2M2ZjNmY2Mzc4ZGRhOTUwZWQzNjJmOWU= S:
Ab hier sehe ich hier nur noch Müll.
|%/1��iso8859-15�6@%/1��iso8859-15¸¸j@p%/1��iso8859-15�*t@S@PS@`S@pS@ `@%/1��iso8859-15�@%/1��iso8859-15�@@%/1��iso8859-15�@0@P@%/1��iso885 9-15�@@@%/1��iso8859-15���l@%/1��iso8859-15�n@d: Successful return: 0
base64 decoding error
Scheint wohl was mit Deinem Problem zu tun haben.
Authentication failed. generic failure Security strength factor: 128 ^[[?1;2c%/1��iso8859-15¨���¨�@%/1��iso8859-15¸¸p`%/1��iso8859-15��7@ A01 NO user not found
Jetzt habe ich aber einen Hinweis, dass base64 Kodierung fehlerhaft ist. Also liegt das Problem vermutlich in meiner iso8859-15 Umgebung.
Scheint so.
Sollte aber nicht sein.
-- Andreas
Andreas Winkelmann
Am Samstag, 5. Februar 2005 15:55 schrieb Dieter Kluenter:
Hast Du "servername" gesetzt? Wenn ja, worauf? Wenn nicht, was kommt nach "hostname":
Kein hostname oder servername gesetzt, hostname gibts es nicht mehr in man imapd.conf(5) und servername nimmt als default gethostbyname.
Mit hostname meinte ich den Namen des Rechners, wo Cyrus-Imapd drauf läuft, bzw. was der gleichlautende Befehl in der Shell ausgibt.
Ach so, das siehst du ja auch an meinen Bespielen unten, der Hostname ist orange, dementsprechend sind ja auch die Einträge in sasldb2.
Ab hier sehe ich hier nur noch Müll.
[...]
base64 decoding error
Scheint wohl was mit Deinem Problem zu tun haben. [...]
Jetzt habe ich aber einen Hinweis, dass base64 Kodierung fehlerhaft ist. Also liegt das Problem vermutlich in meiner iso8859-15 Umgebung.
Scheint so.
So, auch für's Archiv und sonstige Mitleser, ich habe mal mit mmencode -u die beiden base64 kodierten Strings dekodiert der erste String once="t02GeUt4nNSc/0OtPx8I28pM4JWf77vxwo999YqM7Hc=",realm="orange",qop="auth,au th-int,auth-conf",cipher="rc4-40,rc4-56,rc4,des,3des",maxbuf=4096,charset=utf-8, algorithm=md5-sess enthält utf-8 Code, vermutlich wird also cyrus-imapd in SuSE-9.2 mit utf-8 kompiliert, mein System ist aber auch iso-8859-15 eingestellt, dementsprechend produziert die Dekodierung des Rückgabewerts in String 2 nur Müll,also keine Authentifizierung. Es wird Zeit, vollständig auf UTF-8 umzusteigen. -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53
participants (2)
-
Andreas Winkelmann
-
Dieter Kluenter