我想修改我的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每个语法无效
有人能指出我正确的方向吗?我已经找到了很多关于添加新属性和对象类的文档,但在修改现有模式方面却没有太多。
答案 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 )