美好的一天.
提前为我的英语道歉,我的国家论坛和资源没有帮助.
脚本中需要在AD中更改(或创建)用户密码.
在研究了这个问题后,很明显
一般来说,第二个没有问题,但首先有问题
$ python ldap-test-starttls.py
Traceback (most recent call last):
File "ldap-test-starttls.py", line 9, in <module>
l.simple_bind_s( "cn=admin,ou=users,dc=test,dc=ru", "password" )
File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 206, in simple_bind_s
msgid = self.simple_bind(who,cred,serverctrls,clientctrls)
File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 200, in simple_bind
return self._ldap_call(self._l.simple_bind,who,cred,EncodeControlTuples(serverctrls),EncodeControlTuples(clientctrls))
File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 96, in _ldap_call
result = func(*args,**kwargs)
ldap.SERVER_DOWN: {'info': 'A TLS packet with unexpected length was received.', 'desc': "Can't contact LDAP server"}
Run Code Online (Sandbox Code Playgroud)
脚本代码
import ldap
host = 'ldaps://ldap:636'
l = ldap.initialize(host)
l.set_option( ldap.OPT_X_TLS_DEMAND, True )
l.set_option( …Run Code Online (Sandbox Code Playgroud) 我们已经安装了python-ldap(2.4.19)模块而没有错误,并成功执行了大部分操作.但是,当我们尝试加载证书以使用ssl(ldaps)时,ldap.set_option总是返回异常.
它出现在运行Yosemite的笔记本电脑上,但不会出现在Mavericks或Linux上.(所有Macbook都安装了xcode)
我们认为它应该是一些缺失/过时/更新的lib,但我们不知道如何找到它.
有线索吗?
$python
Python 2.7.6 (default, Sep 9 2014, 15:04:36)
...
>>>import ldap
>>>ldap.set_option(ldap.OPT_X_TLS_CACERTFILE, '/my_path/my_cert.crt')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/*xxx*/python2.7/site-packages/ldap/functions.py", line 133, in set_option
return _ldap_function_call(None,_ldap.set_option,option,invalue)
File "/*xxx*/python2.7/site-packages/ldap/functions.py", line 64, in _ldap_function_call
result = func(*args,**kwargs)
ValueError: option error
Run Code Online (Sandbox Code Playgroud)