修改openldap中的memberUid属性不区分大小写
Modify memberUid attribute in openldap to be case insensitive
我想修改我的 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 )
但是我得到了以下错误:
modifying entry "cn={2}nis"
ldap_modify: Server is unwilling to perform (53)
additional info: no global superior knowledge
我也尝试使用 objectClass 而不是 olcAttributeTypes,但收到以下信息:
modifying entry "cn={2}nis"
ldap_modify: Invalid syntax (21)
additional info: objectClass: value #0 invalid per syntax
有人能指出我正确的方向吗?我找到了很多关于添加新属性和对象类的文档,但关于修改现有架构的文档却很少。
我在这里谈论的是常见的 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 )
我想修改我的 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 )
但是我得到了以下错误:
modifying entry "cn={2}nis" ldap_modify: Server is unwilling to perform (53) additional info: no global superior knowledge
我也尝试使用 objectClass 而不是 olcAttributeTypes,但收到以下信息:
modifying entry "cn={2}nis" ldap_modify: Invalid syntax (21) additional info: objectClass: value #0 invalid per syntax
有人能指出我正确的方向吗?我找到了很多关于添加新属性和对象类的文档,但关于修改现有架构的文档却很少。
我在这里谈论的是常见的 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 )