LDAP(slapd)认证用户无法修改自己

LDAP(slapd)认证用户无法修改自己

我完全是 LDAP 新手,可能犯了一些非常愚蠢的错误,所以希望有人能给我指出正确的方向。我在 Linux 下运行 openldap 2.4.23 中的 slapd。我遇到的问题是,从我在 slapd.conf 中设置的管理帐户(cn=Manager,dc=example,dc=com),我可以毫无问题地设置最终用户的密码:

# ldappasswd -D 'cn=Manager,dc=example,dc=com' -W -S 'uid=tsuraan,ou=People,dc=example,dc=com'

但是,从最终用户的角度来看,我可以运行搜索等操作,但无法更改密码:

$ ldapsearch -x -D "uid=tsuraan,ou=People,dc=example,dc=com" -W  
Enter LDAP Password:
<results>
$ ldappasswd -D 'uid=tsuraan,ou=People,dc=example,dc=com' -W -S 'uid=tsuraan,ou=People,dc=example,dc=com'
New password: 
Re-enter new password: 
Enter LDAP Password: 
Result: Insufficient access (50)

我还尝试使用 ldapmodify 直接更改 userPassword 属性,它给出了相同的 Insufficient access (50) 消息。我的 slapd ACL 部分如下所示:

access to *
    by dn="uid=root,ou=People,dc=example,dc=com" write
    by users read
    by self write
    by anonymous auth

access to attrs=userPassword,gecos,description,loginShell
    by self write

access to attrs="userPassword"
    by dn="uid=root,ou=People,dc=example,dc=com" write
    by anonymous auth
    by self write
    by * none

而且,我有一个非 root 用户,其 LDIF 如下所示:

dn: uid=tsuraan,ou=People,dc=example,dc=com
uid: tsuraan
cn: tsuraan
objectClass: account
objectClass: posixAccount
objectClass: top
userPassword: {crypt}x
loginShell: /bin/bash
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/tsuraan

谷歌今天没有给我任何支持,我不明白为什么我的用户无法写入他自己的 LDAP 节点,因为我到处都有“自行写入”,所以希望有人可以帮助我。

答案1

Lists  of  access  directives are evaluated in the order they appear in
slapd.conf.  When a <what> clause matches the  datum  whose  access  is
being evaluated, its <who> clause list is checked.  When a <who> clause
matches the accessor's properties, its <access> and  <control>  clauses
are evaluated.  Access control checking stops at the first match of the
<what> and <who> clause, unless otherwise  dictated  by  the  <control>
clause.

第一个匹配<what><who>尝试更改密码的是:

access to *
   by users read

如果您将“访问 *”子句移至列表末尾,它应该可以正常工作。或者只需交换“用户读取”和“自写”的顺序即可。

ACL 是 OpenLDAP 配置中最棘手的部分,因此请slapd.access(5)仔细阅读,并确保在编写一些非平凡内容之前完全理解 ACL 的工作原理。

相关内容