我有带有以下对象类的默认 LDAP 模式(389 DS 实例):
objectClasses: ( 1.3.6.1.1.1.2.17 NAME 'automount' DESC 'An entry in an automo
unter map' SUP top STRUCTURAL MUST ( cn $ automountInformation ) MAY descript
ion X-ORIGIN 'draft-howard-rfc2307bis' )
objectClasses: ( 1.3.6.1.1.1.2.16 NAME 'automountMap' DESC 'An group of relate
d automount objects' SUP top STRUCTURAL MUST ou X-ORIGIN 'draft-howard-rfc230
7bis' )
我需要修改那些在 Solaris 客户端上使用自动挂载的类到下一个状态:
objectClasses: ( 1.3.6.1.1.1.2.16 NAME 'automountMap' DESC 'Automount Map information' SUP top
STRUCTURAL MUST automountMapName MAY description X-ORIGIN 'user defined' )
objectClasses: ( 1.3.6.1.1.1.2.17 NAME 'automount' DESC 'Automount information' SUP top STRUCTURAL
MUST ( automountKey $ automountInformation ) MAY description X-ORIGIN 'user defined' )
AttributeTypesautomountKey
和automountMapName
已由我添加。但我无法编辑 objectClasses automount 和 automountMap。通过 GUI 控制台编辑按钮不可点击。通过 ldapmodify 我收到意外错误:
ldapmodify:格式无效(第 5 行)条目:“cn=schema”
我认为我的 ldif 文件看起来正确:
dn: cn=schema
changetype: modify
add: objectclasses
objectClasses: ( 1.3.6.1.1.1.2.16
NAME 'automountMap'
DESC 'Automount Map information'
SUP top
STRUCTURAL
MUST automountMapName
MAY description
)
objectClasses: ( 1.3.6.1.1.1.2.17
NAME 'automount'
DESC 'Automount information'
SUP top
STRUCTURAL
MUST (automountKey $ automountInformation)
MAY description
)
我该如何编辑这些 objectClasses? 有可能吗? 或者我该如何重新定义这些 objectClasses?
答案1
您只是没有选择正确的 DN。
而dn: cn=schema
你应该选择cn=schema,cn=config
。
但在我看来,最好定义一个自定义架构,您可以将其放在此 dn 下。因此,cn=schema,cn=config
您可以执行以下操作,而不是将其添加到:
ldapadd -xWD cn=admin,cn=config dn: cn=<schemaName>,cn=schema,cn=config objectClass: olcSchemaConfig cn: <schemaName> olcObjectClasses: ...
答案2
我找到了一个解决方法。我在 /etc/dirsrv/slapd-centos/schema 中编辑了架构文件