Ik ben bezig met een thuismailserver met eGroupWare met OpenLDAP als backend. Als IMAP server heb ik dovecot opgezet, die dezelfde openLDAP backend gebruikt als eGroupWare. Deze LDAP backend wil ik ook gebruiken voor SMTP AUTH via saslauthd, die dit zou moeten kunnen afhandelen. Ik gebruik deze guide om het op te zetten en ik heb de packages gewoon via aptitude geinstalleerd.
Wanneer ik echter bij het kopje Running saslauthd aankom en ga testen met testsaslauthd krijg ik echter de melding "Authentication failed".
Hierbij de meldingen; testsaslauthd:
saslauthd:
En vanaf hier word het testsaslauthd commando uitgevoerd:
openldap:
En /etc/saslauthd.conf:
Ik kom er niet meer uit wat er nu precies misgaat; vooral omdat eGroupWare en dovecot zonder problemen binden en authenticeren. Ik hoop dat jullie me kunnen helpen dit uit te vogelen. Als jullie meer info nodig hebben hoor ik het graag.
Wanneer ik echter bij het kopje Running saslauthd aankom en ga testen met testsaslauthd krijg ik echter de melding "Authentication failed".
Hierbij de meldingen; testsaslauthd:
****@host:~$ sudo testsaslauthd -s smtp -u admin -p <password> 0: NO "authentication failed"
saslauthd:
****@host:~$ sudo /usr/sbin/saslauthd -a ldap -c -m /var/run/saslauthd -O /etc/saslauthd.conf -n 5 -d saslauthd[18574] :main : num_procs : 5 saslauthd[18574] :main : mech_option: /etc/saslauthd.conf saslauthd[18574] :main : run_path : /var/run/saslauthd saslauthd[18574] :main : auth_mech : ldap saslauthd[18574] :cache_alloc_mm : mmaped shared memory segment on file: /var/run/saslauthd/cache.mmap saslauthd[18574] :cache_init : bucket size: 96 bytes saslauthd[18574] :cache_init : stats size : 36 bytes saslauthd[18574] :cache_init : timeout : 28800 seconds saslauthd[18574] :cache_init : cache table: 985828 total bytes saslauthd[18574] :cache_init : cache table: 1711 slots saslauthd[18574] :cache_init : cache table: 10266 buckets saslauthd[18574] :cache_init_lock : flock file opened at /var/run/saslauthd/cache.flock saslauthd[18574] :ipc_init : using accept lock file: /var/run/saslauthd/mux.accept saslauthd[18574] :detach_tty : master pid is: 0 saslauthd[18574] :ipc_init : listening on socket: /var/run/saslauthd/mux saslauthd[18574] :main : using process model saslauthd[18574] :have_baby : forked child: 18579 saslauthd[18574] :have_baby : forked child: 18580 saslauthd[18574] :have_baby : forked child: 18581 saslauthd[18574] :have_baby : forked child: 18582 saslauthd[18574] :get_accept_lock : acquired accept lock
En vanaf hier word het testsaslauthd commando uitgevoerd:
saslauthd[18574] :rel_accept_lock : released accept lock saslauthd[18582] :get_accept_lock : acquired accept lock saslauthd[18574] :cache_get_rlock : attempting a read lock on slot: 626 saslauthd[18574] :cache_lookup : [login=administrator] [service=] [realm=smtp]: not found, update pending saslauthd[18574] :cache_un_lock : attempting to release lock on slot: 626 saslauthd[18574] :do_auth : auth failure: [user=administrator] [service=smtp] [realm=] [mech=ldap] [reason=Unknown] saslauthd[18574] :do_request : response: NO saslauthd[18582] :server_exit : child exited: 18582 saslauthd[18581] :server_exit : child exited: 18581 saslauthd[18579] :server_exit : child exited: 18579 saslauthd[18580] :server_exit : child exited: 18580 saslauthd[18574] :handle_sigchld : child exited: 18579 saslauthd[18574] :handle_sigchld : child exited: 18581 saslauthd[18574] :handle_sigchld : child exited: 18582 saslauthd[18574] :server_exit : pid file lock removed: /var/run/saslauthd/saslauthd.pid.lock saslauthd[18574] :cache_cleanup_lock: flock file removed: /var/run/saslauthd/cache.flock saslauthd[18574] :cache_cleanup_mm: cache mmap file removed: /var/run/saslauthd/cache.mmap saslauthd[18574] :ipc_cleanup : accept lock file removed: /var/run/saslauthd/mux.accept saslauthd[18574] :ipc_cleanup : socket removed: /var/run/saslauthd/mux saslauthd[18574] :handle_sigchld : child exited: 18580
openldap:
daemon: activity on 1 descriptor
daemon: activity on:
slap_listener_activate(7):
daemon: epoll: listen=7 busy
daemon: epoll: listen=8 active_threads=0 tvp=zero
>>> slap_listener(ldap:///)
daemon: listen=7, new connection on 13
daemon: added 13r (active) listener=(nil)
conn=1010 fd=13 ACCEPT from IP=127.0.0.1:49199 (IP=0.0.0.0:389)
daemon: activity on 2 descriptors
daemon: activity on: 13r
daemon: read active on 13
daemon: epoll: listen=7 active_threads=0 tvp=zero
daemon: epoll: listen=8 active_threads=0 tvp=zero
connection_get(13)
connection_get(13): got connid=1010
connection_read(13): checking for input on id=1010
ber_get_next
ldap_read: want=8, got=8
0000: 30 40 02 01 01 60 3b 02 0@...`;.
ldap_read: want=58, got=58
0000: 01 03 04 22 63 6e 3d 61 64 6d 69 6e 69 73 74 72 ..."cn=admin
0010: 61 74 6f 72 2c 64 63 3d 6f 6c 79 6d 70 6f 73 2c ,dc=domein,
0020: 64 63 3d 64 6f 6d 80 12 30 4c 79 6d 70 30 24 64 dc=dom..pass
0030: 30 6d 40 31 6e 40 64 6d 31 6e word
ber_get_next: tag 0x30 len 64 contents:
ber_dump: buf=0x7f6a6063e560 ptr=0x7f6a6063e560 end=0x7f6a6063e5a0 len=64
0000: 02 01 01 60 3b 02 01 03 04 22 63 6e 3d 61 64 6d ...`;...."cn=adm
0010: 69 6e 69 73 74 72 61 74 6f 72 2c 64 63 3d 6f 6c in,dc=domein
0020: 79 6d 70 6f 73 2c 64 63 3d 64 6f 6d 80 12 30 4c ,dc=dom..pass
0030: 79 6d 70 30 24 64 30 6d 40 31 6e 40 64 6d 31 6e word
op tag 0x60, time 1285529555
ber_get_next
ldap_read: want=8 error=Resource temporarily unavailable
conn=1010 op=0 do_bind
ber_scanf fmt ({imt) ber:
ber_dump: buf=0x7f6a6063e560 ptr=0x7f6a6063e563 end=0x7f6a6063e5a0 len=61
0000: 60 3b 02 01 03 04 22 63 6e 3d 61 64 6d 69 6e 69 `;...."cn=admin
0010: 73 74 72 61 74 6f 72 2c 64 63 3d 6f 6c 79 6d 70 ,dc=domein
0020: 6f 73 2c 64 63 3d 64 6f 6d 80 12 30 4c 79 6d 70 ,dc=dom..pass
0030: 30 24 64 30 6d 40 31 6e 40 64 6d 31 6e word
ber_scanf fmt (m}) ber:
ber_dump: buf=0x7f6a6063e560 ptr=0x7f6a6063e58c end=0x7f6a6063e5a0 len=20
0000: 00 12 30 4c 79 6d 70 30 24 64 30 6d 40 31 6e 40 ..password
0010: 64 6d 31 6e
>>> dnPrettyNormal: <cn=admin,dc=domein,dc=dom>
=> ldap_bv2dn(cn=admin,dc=domein,dc=dom,0)
<= ldap_bv2dn(cn=admin,dc=domein,dc=dom)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(cn=admin,dc=domein,dc=dom)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(cn=admin,dc=domein,dc=dom)=0
<<< dnPrettyNormal: <cn=admin,dc=domein,dc=dom>, <cn=admin,dc=domein,dc=dom>
conn=1010 op=0 BIND dn="cn=admin,dc=domein,dc=dom" method=128
do_bind: version=3 dn="cn=admin,dc=domein,dc=dom" method=128
==> hdb_bind: dn: cn=admin,dc=domein,dc=dom
bdb_dn2entry("cn=admin,dc=domein,dc=dom")
=> access_allowed: result not in cache (userPassword)
=> access_allowed: auth access to "cn=admin,dc=domein,dc=dom" "userPassword" requested
=> acl_get: [1] attr userPassword
=> acl_mask: access to entry "cn=admin,dc=domein,dc=dom", attr "userPassword" requested
=> acl_mask: to value by "", (=0)
<= check a_dn_pat: cn=admin,dc=domein,dc=dom
<= check a_dn_pat: anonymous
<= acl_mask: [2] applying auth(=xd) (stop)
<= acl_mask: [2] mask: auth(=xd)
=> slap_access_allowed: auth access granted by auth(=xd)
=> access_allowed: auth access granted by auth(=xd)
send_ldap_result: conn=1010 op=0 p=3
send_ldap_result: err=49 matched="" text=""
send_ldap_response: msgid=1 tag=97 err=49
ber_flush2: 14 bytes to sd 13
0000: 30 0c 02 01 01 61 07 0a 01 31 04 00 04 00 0....a...1....
ldap_write: want=14, written=14
0000: 30 0c 02 01 01 61 07 0a 01 31 04 00 04 00 0....a...1....
conn=1010 op=0 RESULT tag=97 err=49 text=
daemon: activity on 1 descriptor
daemon: activity on:
daemon: epoll: listen=7 active_threads=0 tvp=zero
daemon: epoll: listen=8 active_threads=0 tvp=zeroEn /etc/saslauthd.conf:
ldap_servers: ldap://127.0.0.1/ ldap_search_base: dc=domein,dc=dom ldap_bind_dn: cn=admin,dc=domein,dc=dom ldap_bind_pw: password ldap_version: 3 ldap_scope: sub ldap_uidattr: uid ldap_filter_mode: yes ldap_filter: (&(objectClass=person)(uid=%u))
Ik kom er niet meer uit wat er nu precies misgaat; vooral omdat eGroupWare en dovecot zonder problemen binden en authenticeren. Ik hoop dat jullie me kunnen helpen dit uit te vogelen. Als jullie meer info nodig hebben hoor ik het graag.
Luctor et Emergo || specs