Toon posts:

courier-imap met authldap wil niet werken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb hier een testserver staan met FreeBSD erop. Nu draait hierop courier-imap. Dat werkt prima, inloggen werkt gewoon als ik authpam gebruik. Nu wil ik echter de gebruikersnaam en wachtwoord van de gebruikers in uit openldap halen, maar ik krijg het maar niet voor elkaar.

hier een aantal instellingen

in authdaemonc:
code:
1
authmodulelist="authldap"


in authldaprc:
code:
1
2
3
4
5
6
7
8
9
10
11
12
 LDAP_SERVER             localhost
LDAP_PORT               389
LDAP_BASEDN             dc=eriknet,dc=net
LDAP_BINDDN             cn=manager,dc=eriknet,dc=net
LDAP_BINDPW             passwd
LDAP_TIMEOUT            5
LDAP_MAIL               uid
LDAP_HOMEDIR            homeDirectory
LDAP_MAILDIR            Maildir
LDAP_CRYPTPW            userPassword
LDAP_DEREF              never
LDAP_TLS                0


en dan hier de inhoud van de ldap direcory. de gebruiker waarmee ik test heet testuser:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
 root@freebsd:/usr/local/etc/courier-imap# ldapsearch -x -b "dc=eriknet, dc=net"
# extended LDIF
#
# LDAPv3
# base <dc=eriknet, dc=net> with scope sub
# filter: (objectclass=*)
# requesting: ALL
#

# eriknet.net
dn: dc=eriknet,dc=net
dc: eriknet
objectClass: organizationalUnit
objectClass: dcObject
ou:: RXJpa05ldCA=

# manager, eriknet.net
dn: cn=manager,dc=eriknet,dc=net
objectClass: top
objectClass: organizationalRole
cn: manager

# hosting, eriknet.net
dn: o=hosting,dc=eriknet,dc=net
objectClass: top
objectClass: organization
o: hosting

# freebsd.local, hosting, eriknet.net
dn: o=freebsd.local,o=hosting,dc=eriknet,dc=net
objectClass: top
objectClass: organization
o: freebsd.local

# postmaster, freebsd.local, hosting, eriknet.net
dn: cn=postmaster,o=freebsd.local,o=hosting,dc=eriknet,dc=net
objectClass: top
objectClass: organizationalRole
objectClass: CourierMailAlias
cn: postmaster
mail: postmaster@freebsd.local
maildrop: postmaster
roleOccupant: mail=user2@freebsd.local,o=freebsd.local,o=hosting,dc=eriknet,dc
 =net

# abuse@freebsd.local, freebsd.local, hosting, eriknet.net
dn: cn=abuse@freebsd.local,o=freebsd.local,o=hosting,dc=eriknet,dc=net
objectClass: top
objectClass: organizationalRole
objectClass: CourierMailAlias
mail: abuse@freebsd.local
maildrop: abuse
cn: abuse@freebsd.local

# testuser@freebsd.local, freebsd.local, hosting, eriknet.net
dn: mail=testuser@freebsd.local,o=freebsd.local,o=hosting,dc=eriknet,dc=net
gidNumber: 1010
homeDirectory: /home/testuser
mail: testuser@freebsd.local
mailbox: Maildir
objectClass: account
objectClass: top
objectClass: CourierMailAccount
objectClass: posixAccount
uidNumber: 1010
cn: testuser
uid: testuser
userPassword:: dGVzdA==

# search result
search: 2
result: 0 Success

# numResponses: 8
# numEntries: 7

Het wachtwoord van de gebruiker "testuser" is trouwens test (de direcotory structuur komt uit deze howto [link]http://www.linuxjournal.com/article.php?sid=5917[/link]

ok connecten maar
code:
1
2
3
4
5
6
7
8
9
root@freebsd:~# telnet 127.0.0.1 143
Trying 127.0.0.1...
Connected to localhost.local.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT 
THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. 
Copyright 1998-2004 Double Precision, Inc.  See COPYING for distribution information.
a1 login testuser test
a1 NO Login failed.

Dat werkt dus niet. courier maakt wel verbinding met openldap, want als ik slapd opstart met
code:
1
root@freebsd:~# /usr/local/libexec/slapd -d1

dan zie ik op het moment van inloggen dat er in de directory gespit wordt. Hier de laatste regels van die output:
code:
1
2
3
4
5
6
7
8
9
10
====> bdb_cache_return_entry_r( 17 ): created (0)
entry_decode: "mail=testuser@freebsd.local,o=freebsd.local,o=hosting,dc=eriknet,dc=net"
<= entry_decode(mail=testuser@freebsd.local,o=freebsd.local,o=hosting,dc=eriknet,dc=net)
=> send_search_entry: dn="mail=testuser@freebsd.local,o=freebsd.local,o=hosting,dc=eriknet,dc=net"
ber_flush: 180 bytes to sd 13
<= send_search_entry
====> bdb_cache_return_entry_r( 19 ): created (0)
send_search_result: err=0 matched="" text=""
send_ldap_response: msgid=2 tag=101 err=0
ber_flush: 14 bytes to sd 13



Het mooie is dat Pureftp gewoon werkt met deze setup en de loginnaam password en
homedirectory van de testuser uit de ldap directory haalt. Ook kan ik met de testuser
via pam_ldap op een linux client (=andere pc) inloggen. Alleen courier krijg ik niet aan
de praat.

Verder heb ik geprobeerd om met het mailadres in te loggen ( LDAP_MAIL mail (ipv uid)), het wachtwoord in clear, md5 enz enz te encrypten en natuurlijk een hoop gestoei met verschillende ldif's


Resultaat: noppes! Alle hulp is dan ook welkom.


PS. courier-imap met pam_ldap is ook een optie maar ook dat krijg ik niet aan de praat

  • PowerSp00n
  • Registratie: Februari 2002
  • Laatst online: 17-11-2025

PowerSp00n

There is no spoon

logs? debug iets?

Verwijderd

Topicstarter
ai (ik dacht /var/log/messages toch al wel een paar keer door gekeken te hebben), authdaemond.ldap logt in /var/log/messages:
code:
1
Jul 16 20:46:11 freebsd authdaemond.ldap: authlib: refuse to authenticate testuser: uid=0, gid=0

maar dit lijkt gefixt door volgende opties in authldaprc te zetten:
code:
1
2
LDAP_UID                uidNumber
LDAP_GID                gidNumber


alleen werkt inloggen met deze opties aan ook niet. In /var/log/messages verschijnen nu helemaal geen meldingen meer.

In /var/log/maillog heb ik al tijden de volgende meldingen:
code:
1
2
3
4
5
6
Jul 16 20:59:21 freebsd imapd: LOGIN FAILED, ip=[::ffff:192.168.2.3]
Jul 16 21:00:02 freebsd imapd: Connection, ip=[::ffff:192.168.2.3]
Jul 16 21:01:06 freebsd imapd: Connection, ip=[::ffff:192.168.2.3]
Jul 16 21:01:20 freebsd imapd: LOGIN FAILED, ip=[::ffff:192.168.2.3]
Jul 16 21:12:12 freebsd imapd: Connection, ip=[::ffff:192.168.2.3]
Jul 16 21:12:31 freebsd imapd: LOGIN FAILED, ip=[::ffff:192.168.2.3]


Dit is nu enige melding die courier logt in /var/log/*. Dit ondanks:
code:
1
DEBUG_LOGIN=2

van deze optie is de beschrijving "turn on login debugging + log passwords too" maar ik zie geen melding over de logins in /var/log/*

hoe krijg ik meer debug info van courier? Het schijnt de logs van courier nogal waardeloos zijn.

openldap daarentegen kan alles uitspugen wat je maar wilt. Als iemand denkt het met de openldap debug meldingen te kunnen achterhalen, geef dan svp het gewenste debuglevel door dan post ik hier de resultaten.

Verwijderd

Topicstarter
*Kick*
Ik heb het project "courier-imap laten authenticeren via openldap" even laten liggen maar vandaag toch weer mee verder gegaan.

Met een iets andere opstelling vandaag weer tot dezelfde situatie gekomen. courier-imap maakt contact met de ldapserver maar blijft "login failed" geven.

Is er iemand hier met een werkende courier i.c.m. ldap opstelling die me kan helpen?