问题描述
我想远程绑定到OpenLDAP cn=config
,所以我可以通过脚本远程设置/检查LDAP ACL。
绑定到我的根DN确实很好:
LOGIN_DN = "cn=admin,dc=foo,dc=net"
l = ldap.initialize("{}:{}".format(LDAP_URL,LDAP_PORT))
l.simple_bind_s(LOGIN_DN,password)
如果我对cn=config
尝试同样的操作...
LOGIN_DN = "cn=config,dc=net"
c = ldap.initialize("{}:{}".format(LDAP_URL,LDAP_PORT))
c.simple_bind_s(LOGIN_DN,password)
我将收到一个ldap.INVALID_CREDENTIALS
-错误(使用管理员帐户的密码)。有没有办法解决?我已经在寻找解决方案半天了。
解决方法
为此找到了解决方案。
1。创建rootaccess.ldif
允许对管理员用户进行写访问:
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcAccess
olcAccess: to *
by dn="cn=admin,dc=foo,dc=net" write
by * none
2。应用设置
使用ldapmodify
添加其他olcAccess
字段
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f rootaccess.ldif