例如,我可以使用以下命令更改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实现它?我搜索了一会儿,但找不到答案。
答案 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()