2017-06-22 62 views
0

我想修改我的openldap架構以使memberUid不區分大小寫。 展望/etc/ldap/slapd.d/cn=config/cn=schema/cn={2}nis.ldif:將openldap中的memberUid屬性修改爲不區分大小寫

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

我用,而不是olcAttributeTypes對象類也試過,但收到如下:

modifying entry "cn={2}nis" ldap_modify: Invalid syntax (21) additional info: objectClass: value #0 invalid per syntax

有人能指出我正確的方向嗎?我發現了很多關於添加新屬性和對象類的文檔,但在修改現有模式方面卻沒有多少內容。

回答

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) 
+0

感謝您的回覆。我得到了「沒有全球優勢知識」的錯誤。我必須爲dn或相關的東西有錯誤的語法,但我不知道,也找不到任何示例。 – Ryan

+0

@Ryan Lol,當然,我沒有關注DN;)你應該使用的DN是:cn = {2} nis,cn = schema,cn = config'。我編輯了我的答案;) – Esteban