如何使用python-ldap修改openldap的配置DIT?

时间:2016-08-08 10:02:03

标签: python openldap python-ldap

例如,我可以使用以下命令更改RootDN密码:

sudo ldapmodify -H ldapi:// -Y EXTERNAL -f newpasswd.ldif

newpasswd.ldif的争议是:

dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}/Z6e+b4L6ucglrlI4KsNaX142WDCH6de

我的问题是,如何使用python-ldap实现它?我搜索了一会儿,但找不到答案。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,这是我的代码。

def ldap_modify_root():
    conn = ldap.initialize("ldapi://")
    conn.sasl_external_bind_s()
    old = {'olcRootPW': 'xxx'}
    new = {'olcRootPW': '{SSHA}/Z6e+b4L6ucglrlI4KsNaX142WDCH6de'}
    ldif = modlist.modifyModlist(old, new)
    dn = "olcDatabase={1}mdb,cn=config"
    conn.modify_s(dn, ldif)
    conn.unbind()