2016-08-08 10 views
0

예를 들어, 내가 여기서 rootdn 암호를 변경하려면 다음 명령을 사용할 수 있습니다python-ldap을 사용하여 openldap의 구성 DIT를 수정하는 방법?

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 

내 질문은, 내가 파이썬을 사용하여 구현할 수있는 방법 -ldap? 잠시 동안 수색했지만 대답을 찾을 수 없었습니다.

답변

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