使用管理控件(-k)进行python和ldap3 ldapmodify操作

时间:2019-01-13 20:13:35

标签: python-3.x ldap3

我正在使用python ldap3模块连接到IBM Security Directory Server以修改用户的密码。此操作可以很好地使用:

s = Server('server')
c = Connection(s, user = 'username', password = 'password')
c.modify('user_dn', {'userPassword':[(MODIFY_REPLACE,['new_password'])]})

但是,如果由于某些密码策略的存在,我现在尝试修改某些操作属性,例如pwdReset或pwdChangedTime:

conn.modify('user_dn', {'pwdReset':[MODIFY_REPLACE, [False]]})

我得到了conn.result

{'result': 65, 'description': 'objectClassViolation', 'dn': '', 
'message': '', 'referrals': None, 'type': 'modifyResponse'}

当您在ldap中执行idsldapmodify操作而不使用-k选项进行管理控制时,会出现此objectClassViolation错误。

idsldapmodify -D admin_user -w password 
dn: user_dn
changetype: modify
replace: pwdReset
pwdReset: False

操作0修改条目 ldap_modify:违反对象类

idsldapmodify -D username -w password  -k
dn: user_dn
changetype: modify
replace: pwdReset
pwdReset: False

操作0修改条目 成功的改变。

有什么主意如何告诉ldap3对某种操作属性使用某种管理控件-k? 谢谢。

0 个答案:

没有答案