Arthur,
Thank you for your quick response - I really appreciate that
> Does running nslcd in debug mode provide more information?
Heres the debug output:
nslcd: [8b4567] DEBUG: connection from pid=9817 uid=0 gid=0
nslcd: DEBUG: accept() failed (ignored): Resource temporarily unavailable
nslcd: DEBUG: accept() failed (ignored): Resource temporarily unavailable
nslcd: DEBUG: accept() failed (ignored): Resource temporarily unavailable
nslcd: DEBUG: accept() failed (ignored): Resource temporarily unavailable
nslcd: [8b4567] <group/member="root"> DEBUG: ignored group member
nslcd: [7b23c6] DEBUG: connection from pid=9823 uid=0 gid=0
nslcd: DEBUG: accept() failed (ignored): Resource temporarily unavailable
nslcd: [7b23c6] <group/member="root"> DEBUG: ignored group member
nslcd: [3c9869] DEBUG: connection from pid=9829 uid=0 gid=0
nslcd: [3c9869] <passwd(all)> DEBUG:
myldap_search(base="ou=accounts,ou=csde,dc=ldi,dc=uw,dc=edu",
filter="(objectClass=posixAccount)")
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_initialize(ldap://
ldi.s.uw.edu)
nslcd: DEBUG: accept() failed (ignored): Resource temporarily unavailable
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_rebind_proc()
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_PROTOCOL_VERSION,3)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_DEREF,0)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_TIMELIMIT,0)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_TIMEOUT,0)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_NETWORK_TIMEOUT,0)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_REFERRALS,LDAP_OPT_ON)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_RESTART,LDAP_OPT_ON)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_start_tls_s()
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_sasl_interactive_bind_s(NULL,"EXTERNAL") (uri="ldap://
ldi.s.uw.edu")
nslcd: [3c9869] <passwd(all)> failed to bind to LDAP server
ldap://
ldi.s.uw.edu: Unknown authentication method: SASL(-4): no
mechanism available: : No such file or directory
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_unbind()
nslcd: [3c9869] <passwd(all)> no available LDAP server found, sleeping 1
seconds
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_initialize(ldap://
ldi.s.uw.edu)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_rebind_proc()
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_PROTOCOL_VERSION,3)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_DEREF,0)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_TIMELIMIT,0)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_TIMEOUT,0)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_NETWORK_TIMEOUT,0)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_REFERRALS,LDAP_OPT_ON)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_RESTART,LDAP_OPT_ON)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_start_tls_s()
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_sasl_interactive_bind_s(NULL,"EXTERNAL") (uri="ldap://
ldi.s.uw.edu")
nslcd: [3c9869] <passwd(all)> failed to bind to LDAP server
ldap://
ldi.s.uw.edu: Unknown authentication method: SASL(-4): no
mechanism available:
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_unbind()
nslcd: [3c9869] <passwd(all)> no available LDAP server found, sleeping 1
seconds
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_initialize(ldap://
ldi.s.uw.edu)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_rebind_proc()
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_PROTOCOL_VERSION,3)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_DEREF,0)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_TIMELIMIT,0)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_TIMEOUT,0)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_NETWORK_TIMEOUT,0)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_REFERRALS,LDAP_OPT_ON)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_RESTART,LDAP_OPT_ON)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_start_tls_s()
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_sasl_interactive_bind_s(NULL,"EXTERNAL") (uri="ldap://
ldi.s.uw.edu")
nslcd: [3c9869] <passwd(all)> failed to bind to LDAP server
ldap://
ldi.s.uw.edu: Unknown authentication method: SASL(-4): no
mechanism available:
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_unbind()
nslcd: [3c9869] <passwd(all)> no available LDAP server found, sleeping 1
seconds
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_initialize(ldap://
ldi.s.uw.edu)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_rebind_proc()
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_PROTOCOL_VERSION,3)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_DEREF,0)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_TIMELIMIT,0)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_TIMEOUT,0)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_NETWORK_TIMEOUT,0)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_REFERRALS,LDAP_OPT_ON)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_RESTART,LDAP_OPT_ON)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_start_tls_s()
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_sasl_interactive_bind_s(NULL,"EXTERNAL") (uri="ldap://
ldi.s.uw.edu")
nslcd: [3c9869] <passwd(all)> failed to bind to LDAP server
ldap://
ldi.s.uw.edu: Unknown authentication method: SASL(-4): no
mechanism available:
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_unbind()
nslcd: [3c9869] <passwd(all)> no available LDAP server found, sleeping 1
seconds
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_initialize(ldap://
ldi.s.uw.edu)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_rebind_proc()
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_PROTOCOL_VERSION,3)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_DEREF,0)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_TIMELIMIT,0)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_TIMEOUT,0)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_NETWORK_TIMEOUT,0)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_REFERRALS,LDAP_OPT_ON)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_RESTART,LDAP_OPT_ON)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_start_tls_s()
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_sasl_interactive_bind_s(NULL,"EXTERNAL") (uri="ldap://
ldi.s.uw.edu")
nslcd: [3c9869] <passwd(all)> failed to bind to LDAP server
ldap://
ldi.s.uw.edu: Unknown authentication method: SASL(-4): no
mechanism available:
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_unbind()
nslcd: [3c9869] <passwd(all)> no available LDAP server found, sleeping 1
seconds
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_initialize(ldap://
ldi.s.uw.edu)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_rebind_proc()
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_PROTOCOL_VERSION,3)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_DEREF,0)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_TIMELIMIT,0)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_set_option(LDAP_OPT_TIMEOUT,0)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_NETWORK_TIMEOUT,0)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_REFERRALS,LDAP_OPT_ON)
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_set_option(LDAP_OPT_RESTART,LDAP_OPT_ON)
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_start_tls_s()
nslcd: [3c9869] <passwd(all)> DEBUG:
ldap_sasl_interactive_bind_s(NULL,"EXTERNAL") (uri="ldap://
ldi.s.uw.edu")
nslcd: [3c9869] <passwd(all)> failed to bind to LDAP server
ldap://
ldi.s.uw.edu: Unknown authentication method: SASL(-4): no
mechanism available:
nslcd: [3c9869] <passwd(all)> DEBUG: ldap_unbind()
nslcd: [3c9869] <passwd(all)> no available LDAP server found: Unknown
authentication method: Bad file descriptor
nslcd: [334873] DEBUG: connection from pid=9823 uid=0 gid=0
nslcd: [334873] <passwd="*"> request denied by validnames option
I did a ssh login as root, and a "getent passwd" and got the above output.
>> contents of /etc/nslcd.conf:
>>
>> uri ldap://
ldi.s.uw.edu
>> ssl start_tls
>>
>> tls_cacertfile /etc/ssl/ldi/InCommonCA.crt
>> tls_cert /etc/ssl/ldi/ldi-client.crt
>> tls_key /etc/ssl/ldi/ldi-client.key
>>
>> sasl_mech EXTERNAL
> So the client-side certificate is used for authentiction and that is
> where it appears to fail.
>
> Can you make the connection using the ldapsearch command-line tool? The
> nslcd daemon does not do any TLS handling itself and only passes
> configuration options to libldap but there are differences between TLS
> libraries used.
>
ldapsearch does not work either, see:
root@nori:~/UW-LDI# ./ldiauth
+ UNIT=csde
+ UNIT_ADMIN_CERT=./ldap-admin.csde.washington.edu.pem
+ UNIT_ADMIN_KEY=./ldap-admin.csde.washington.edu.key
+ LDI_SERVER=ldap://
ldi.s.uw.edu
+ [ -f ./ldap-admin.csde.washington.edu.pem -a -f
./ldap-admin.csde.washington.edu.key ]
+ export LDAPTLS_CERT=./ldap-admin.csde.washington.edu.pem
+ export LDAPTLS_KEY=./ldap-admin.csde.washington.edu.key
+ AUTH=-QY EXTERNAL
+ [ 0 -eq 0 ]
+ ldapsearch -ZH ldap://
ldi.s.uw.edu -QY EXTERNAL -LLL -s base -b
cn=unitAdmin,ou=auth,ou=csde,dc=ldi,dc=uw,dc=edu
ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
additional info: SASL(-4): no mechanism available:
+ ldapsearch -ZH ldap://
ldi.s.uw.edu -QY EXTERNAL -LLL -s base -b
cn=AdminAccess,ou=auth,ou=csde,dc=ldi,dc=uw,dc=edu
ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
additional info: SASL(-4): no mechanism available:
+ ldapsearch -ZH ldap://
ldi.s.uw.edu -QY EXTERNAL -LLL -s base -b
cn=BasicAccess,ou=auth,ou=csde,dc=ldi,dc=uw,dc=edu
ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
additional info: SASL(-4): no mechanism available:
+ exit 0
root@nori:~/UW-LDI#