I executed ldapwhoami and here are the findings:
ldapwhoami -Y digest-md5 -U sasluser21
SASL/DIGEST-MD5 authentication started
Please enter your password:
ldap_sasl_interactive_bind_s: Invalid credentials (49)
additional info: SASL(-13): user not found: no secret in database
*Logs:*
ldap-test0 slapd[25625]: do_bind: dn () SASL mech DIGEST-MD5
ldap-test0 slapd[25625]: SASL [conn=7496] Debug: DIGEST-MD5 server step 2
ldap-test0 slapd[25625]: slap_sasl_getdn: u:id converted to
uid=sasluser21,cn=DIGEST-MD5,cn=auth
ldap-test0 slapd[25625]: >>> dnNormalize:
<uid=sasluser21,cn=DIGEST-MD5,cn=auth>
ldap-test0 slapd[25625]: <<< dnNormalize:
<uid=sasluser21,cn=digest-md5,cn=auth>
ldap-test0 slapd[25625]: ==>slap_sasl2dn: converting SASL name
uid=sasluser21,cn=digest-md5,cn=auth to a DN
ldap-test0 slapd[25625]: ==> rewrite_context_apply [depth=1]
string='uid=sasluser21,cn=digest-md5,cn=auth'
ldap-test0 slapd[25625]: ==> rewrite_rule_apply
rule='uid=(.*),cn=DIGEST-MD5,cn=auth'
string='uid=sasluser21,cn=digest-md5,cn=auth' [1 pass
ldap-test0 slapd[25625]: ==> rewrite_context_apply [depth=1]
res={0,'uid=sasluser21,ou=System,o=xyz'}
ldap-test0 slapd[25625]: slap_parseURI: parsing
uid=sasluser21,ou=System,o=xyz
ldap-test0 slapd[25625]: >>> dnNormalize: <uid=sasluser21,ou=System,o=xyz>
ldap-test0 slapd[25625]: <<< dnNormalize: <uid=sasluser21,ou=system,o=xyz>
ldap-test0 slapd[25625]: <==slap_sasl2dn: Converted SASL name to
uid=sasluser21,ou=system,o=xyz
ldap-test0 slapd[25625]: slap_sasl_getdn: dn:id converted to
uid=sasluser21,ou=system,o=xyz
ldap-test0 slapd[25625]: => bdb_search
ldap-test0 slapd[25625]: bdb_dn2entry("uid=sasluser21,ou=system,o=xyz")
ldap-test0 slapd[25625]: => bdb_dn2id("uid=sasluser21,ou=system,o=xyz")
ldap-test0 slapd[25625]: <= bdb_dn2id: got id=0x68a
ldap-test0 slapd[25625]: entry_decode: "uid=sasluser21,ou=System,o=xyz"
ldap-test0 slapd[25625]: <= entry_decode(uid=sasluser21,ou=System,o=xyz)
ldap-test0 slapd[25625]: => access_allowed: auth access to
"uid=sasluser21,ou=System,o=xyz" "entry" requested
ldap-test0 slapd[25625]: => dn: [2] o=xyz
ldap-test0 slapd[25625]: => dn: [3] ou=subscribers,o=xyz
ldap-test0 slapd[25625]: => acl_get: [4] attr entry
ldap-test0 slapd[25625]: => acl_mask: access to entry
"uid=sasluser21,ou=System,o=xyz", attr "entry" requested
ldap-test0 slapd[25625]: => acl_mask: to all values by "", (=0)
ldap-test0 slapd[25625]: <= check a_dn_pat: self
ldap-test0 slapd[25625]: <= check a_dn_pat: uid=replicator,ou=system,o=xyz
ldap-test0 slapd[25625]: <= check a_dn_pat: uid=sasluser21,ou=system,o=xyz
ldap-test0 slapd[25625]: <= acl_mask: no more <who> clauses, returning =0
(stop)
ldap-test0 slapd[25625]: => slap_access_allowed: auth access denied by =0
ldap-test0 slapd[25625]: => access_allowed: no more rules
On Wed, Feb 8, 2012 at 9:32 PM, Dan White <dwhite@olp.net> wrote:
You might need a more permissive (by anonymous auth) ACL here, for
dn.base="ou=System,o=xyz" and "attrs=entry".
See slapd.access(5).