如何在Apache DS服务器中为LDAP用户添加自定义属性
如何在Apache DS服务器中为LDAP用户添加自定义属性
我懂你现在的困扰——想给LDAP用户加上networkGrp、srcIp、DestIp这类自定义属性,但直接在Apache DS Studio里添加要么被忽略要么被服务器拒绝对吧?这是因为LDAP是基于Schema(模式)强约束的,你得先把这些自定义属性的规则注册到服务器的Schema中,服务器才会认可并允许使用它们。下面是一步步的实操方法:
第一步:创建自定义属性类型(Attribute Type)
LDAP里每个属性都得先定义它的唯一标识、名称、数据类型等规则。操作步骤如下:- 打开Apache DS Studio并连接到你的服务器
- 切换到「Schema」视图,找到「Attribute Types」节点,右键选择「New」
- 在弹出的配置窗口里填写关键信息:
OID:填一个全局唯一的标识,比如1.3.6.1.4.1.YourOrg.1.1(把YourOrg换成你自己的组织标识,确保不与现有OID重复)Name:属性名,比如networkGrp(LDAP属性名一般用小写)Syntax:选择对应的数据类型,比如字符串类型选1.3.6.1.4.1.1466.115.121.1.15(Directory String),IP地址也可以用这个类型Description:可选,比如填「用户所属网络组」- 根据需求勾选「Single-valued」(单值)或「Multi-valued」(多值)
- 保存配置,用同样的方法创建
srcIp和DestIp这两个属性类型
第二步:创建自定义辅助对象类(Object Class)
现有用户条目一般使用inetOrgPerson这类对象类,我们需要创建一个辅助对象类,把自定义属性包含进去,这样就能附加到现有用户条目上,不用修改原有对象类:- 在Schema视图的「Object Classes」节点右键选择「New」
- 填写配置信息:
OID:同样填唯一标识,比如1.3.6.1.4.1.YourOrg.2.1Name:比如customUserAttributesSuperior Object Class:选择auxiliary(辅助类,这是关键,这样才能附加到现有用户条目)Attributes:把刚才创建的networkGrp、srcIp、DestIp添加到「Optional Attributes」(可选属性)里
- 保存这个对象类
第三步:更新用户条目的对象类
现在需要让目标用户条目继承我们刚创建的辅助对象类:- 切换到「Entry Browser」视图,找到你要修改的用户条目
- 编辑条目的
objectClass属性,添加customUserAttributes到属性值列表中 - 保存修改,这时候服务器就会识别并允许该条目使用自定义属性了
第四步:添加自定义属性到用户条目
完成以上步骤后,你就可以正常给用户条目添加networkGrp、srcIp、DestIp这些属性了:
在用户条目编辑界面,直接添加对应的属性名和值,保存后服务器就不会再拒绝你的修改了
额外提醒几点:
- 一定要确保OID的唯一性,避免和Apache DS默认Schema里的OID冲突,你可以在Schema视图里查看现有OID的范围
- 不要随意修改默认的对象类(比如
inetOrgPerson),用辅助对象类的方式更安全,不会影响其他现有条目 - 操作Schema需要管理员权限,确保你用的是有权限的账号(比如
uid=admin,ou=system)
备注:内容来源于stack exchange,提问作者harish nune
相关产品推荐
相关产品推荐

