一個簡單的用Python修改LDAP密碼的程序,測試通過
1. 首先要安裝Python的LDAP包,在Ubuntu下面是:
apt-get install python-ldap
2. 例子代碼:
import ldap # 修改LDAP密碼 # uid: LDAP uid # oldpwd: 舊密碼 # newpwd: 新密碼 def change_password(uid, oldpwd, newpwd): try: # 要修改密碼的dn dn = 'uid=%s,ou=People,dc=companyname,dc=com' % uid # 如果是ldaps, 需要指定CA cert file ldap.set_option(ldap.OPT_X_TLS_CACERTFILE, "/path/to/ldaps.cert.file") # 如果是self-signed cert, 加上這行 ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER) # 初始化LDAP連接 my_ldap = ldap.initialize('ldaps://ldap_server_host') # 使用舊密碼bind my_ldap.simple_bind_s(dn, oldpwd) # 修改密碼 my_ldap.passwd_s(dn, oldpwd, newpwd) return "Password changed!" except ldap.LDAPError, error_message: return "Oops! Something wrong: %s" % error_message