2016-08-08 27 views
0

Zum Beispiel kann ich den folgenden Befehl verwenden, um das RootDN Passwort zu ändern:Wie benutze ich python-ldap, um die Konfigurations-DIT von openldap zu ändern?

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

Die von newpasswd.ldif kämpfen ist:

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

Meine Frage ist, wie ich es mit Python umsetzen kann -ldap? Ich suchte eine Weile, konnte aber keine Antwort finden.

Antwort

0

Ich finde die Lösung, hier ist mein Code.

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()