我正在尝试将条目添加到我创建的“策略”容器中:
ldap_connection.add('OU=Policy, DC=BERT, DC=LOCAL', 'organizationalUnit'))
并且找不到有关如何创建新的objectClass以容纳这些条目的任何好文档。如果我尝试使用已存在的objectClass添加条目,如下所示:
ldap_connection.add('CN=policy1, OU=Policy, DC=BERT, DC=LOCAL',attributes={'objectClass': 'person'})
有效。但是我想做这样的事情:
ldap_connection.add('CN=policy1, OU=Policy, DC=BERT, DC=LOCAL',attributes={'objectClass': 'policy'})
我尝试过使用MODIFY_ADD:
ldap_connection.modify('OU=Policy1, DC=BERT, DC=LOCAL',{'organizationalUnit': (MODIFY_ADD, ['policy'])})
但是这会返回“属性中的无效属性类型”错误,无论我为“organizationalUnit”切换出什么值,它似乎都会持续存在。我在互联网上搜索了一些有关此问题的帮助,但LDAP3上的文档非常稀少。任何帮助深表感谢。
答案 0 :(得分:3)
在OpenLDAP中,您无法通过ldap请求创建新的对象类 - 您必须将它们添加到服务器配置中。
有关架构更改的文档,请参阅http://www.openldap.org/doc/admin24/schema.html以获取OpenLDAP 2.4的文档。
创建自己的objectClass需要仔细规划: