LDAP 架构编辑

LDAP 架构编辑

我有带有以下对象类的默认 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' )

AttributeTypesautomountKeyautomountMapName已由我添加。但我无法编辑 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 中编辑了架构文件

相关内容