如何将新属性添加到现有LDAP对象类?

前端之家收集整理的这篇文章主要介绍了如何将新属性添加到现有LDAP对象类?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个自定义LDAP objectClass,但在将其添加到我的OpenLDAP服务器之前忘记了几个属性.我按照这个Ubuntu文档页面上的说明操作: https://help.ubuntu.com/12.04/serverguide/openldap-server.html我正在运行Ubuntu 12.04.

那么,如何将新的MAY属性添加到已应用于服务器的objectClass?

特别是在OpenLDAP上,但了解Novell eDirectory的方法也不错.

简短的回答

完全像使用具有多值属性的常规ldap条目一样使用ldapmodify.

这几乎是我的预期,但由于您在运行ldap搜索架构时看到的{N}索引,我并不是100%肯定.

答案很长

首先,找到你的架构的dn.类似于cn = {4} test,cn = schema,cn = config
然后编写一个ldif文件并将其应用到您的目录中.在Ubuntu 12.04上,我以root身份应用它:

ldapmodify -Q -Y EXTERNAL -H ldapi://  -f test.ldif

我遇到问题的部分是ldif修改语法,以及如何处理{N}索引.

所以,你的ldif文件的开头应该是这样的:

version: 1

dn: cn={N}test,cn=schema,cn=config
changetype: modify

修改objectClass:

delete: olcObjectClasses
olcObjectClasses: <old value>
-
add: olcObjectClasses
olcObjectClasses: <new value>

修改属性

delete: olcAttributeTypes
olcAttributeTypes: <old value>
-
add: olcAttributeTypes
olcAttributeTypes: <new value>

我弄清楚了一些关于语法的提示

>忽略ldif文件中的{N}个索引.它们会自动修复.>您确实需要架构DN中的{N}.>记住陈述之间的’ – ‘.>不要在’ – ‘之后添加新行. ldapmodify在新行停止,因此后面的任何内容都不会被执行.>在修改objectClass以包含它们之前添加属性.>消除所有制表符.它们会导致系统产生乱码.

猜你在找的Bash相关文章