openLDAP ldap_modify:尝试删除自定义架构时,服务器不愿意执行 (53)

Mar*_*eña 5 openldap ldap schema ldif

我创建了这个自定义的非常基本的架构:

objectclass ( 2.25.2.2.1
    NAME 'myObjectClass'
    DESC 'myObjectClass objectclass'
    STRUCTURAL
    MUST ( cn )
    )
Run Code Online (Sandbox Code Playgroud)

我已将其添加到 myObjectClass.ldif 文件中,没有任何问题:

dn: cn=myObjectClass,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: myObjectClass
olcObjectClasses: {0}( 2.25.2.2.1 NAME 'myObjectClass' DESC 'myObjectClass objectclass' STRUCTURAL MUST cn )
Run Code Online (Sandbox Code Playgroud)

使用 ldapmodify:

sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f myObjectClass.ldif
Run Code Online (Sandbox Code Playgroud)

现在我尝试用delete.ldif删除它:

dn: cn=schema,cn=config
changetype: modify
delete: objectClass
objectClass: 2.25.2.2.1
Run Code Online (Sandbox Code Playgroud)

使用ldapmodify总是得到ldap_modify:服务器不愿意执行(53):

sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f delete.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=schema,cn=config"
ldap_modify: Server is unwilling to perform (53)
Run Code Online (Sandbox Code Playgroud)

我正在运行带有 OpenLDAP 2.4.31 的 Ubuntu 14.04 服务器

我在官方文档中搜索过这个:

A.2.2。更好的 cn=schema 功能

在 2.3 中,您只能添加新的架构元素,而不能删除或修改现有元素。在2.4中你可以随意修改schema。(当然,硬编码的系统架构除外。)

有人可以分享任何线索吗?

提前致谢!

Abd*_*DEB 2

2.4版本的Openldap服务器修改schema配置的方法是:

  • 删除所有使用此架构的条目

然后

使用 slapcat 停止 slapd 将动态配置导出到 LDIF 修改 LDIF 导出以删除有问题的模式 删除(或重命名)旧的动态配置目录 slapadd 更新的 LDIF 启动 slapd

根据官方网站上的谈话。