修改openldap中的memberUid属性以区分大小写

时间:2017-06-22 19:50:08

标签: ldap openldap

我想修改我的openldap架构,使memberUid不区分大小写。 查看/etc/ldap/slapd.d/cn=config/cn=schema/cn={2}nis.ldif:

dn: cn={2}nis
objectClass: olcSchemaConfig
cn: {2}nis
olcAttributeTypes: {10}( 1.3.6.1.1.1.1.12 NAME 'memberUid' EQUALITY caseExac
 tIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.12
 1.1.26 )

我尝试了以下内容:

$ ldapmodify -h localhost -x
dn: cn={2}nis           
changetype: modify
replace: olcAttributeTypes
olcAttributeTypes: {10}( 1.3.6.1.1.1.1.12 NAME 'memberUid' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )

但是我收到了以下错误:

  

修改条目" cn = {2} nis"   ldap_modify:服务器不愿意执行(53)       附加信息:没有全球优势知识

我也尝试使用objectClass而不是olcAttributeTypes,但收到了以下内容:

  

修改条目" cn = {2} nis"   ldap_modify:语法无效(21)       附加信息:objectClass:值#0每个语法无效

有人能指出我正确的方向吗?我已经找到了很多关于添加新属性和对象类的文档,但在修改现有模式方面却没有太多。

1 个答案:

答案 0 :(得分:1)

我在这里谈论常见的ldap操作,在调整配置时可能会有所不同。

我从未尝试在一组多值属性中仅修改一个值,在这种情况下我做的是删除我想要修改的值并添加新值:

类似的东西:

dn: cn={2}nis,cn=schema,cn=config
changetype: modify
delete: olcAttributeTypes
olcAttributeTypes: {10}( 1.3.6.1.1.1.1.12 NAME 'memberUid' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-
add: olcAttributeTypes
olcAttributeTypes: {10}( 1.3.6.1.1.1.1.12 NAME 'memberUid' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )