有没有办法使用python-ldap远程绑定到cn = config? 1创建rootaccess.ldif 2应用设置

问题描述

我想远程绑定到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