Ldap 添加:添加密码策略时发生对象类冲突错误

Ldap 添加:添加密码策略时发生对象类冲突错误,ldap,openldap,Ldap,Openldap,在openldap文件中添加密码策略时,从命令行运行时会抛出错误 root@openldap-server:/etc/ldap/slapd.d# ldapadd -D cn=admin,dc=zariga,dc=com -w password -f passwordpolicy.ldif adding new entry "cn=DefaultPPolicy,ou=Policies,dc=zariga,dc=com" ldap_add: Object class violation (65)

在openldap文件中添加密码策略时,从命令行运行时会抛出错误

root@openldap-server:/etc/ldap/slapd.d# ldapadd -D cn=admin,dc=zariga,dc=com -w password -f passwordpolicy.ldif
adding new entry "cn=DefaultPPolicy,ou=Policies,dc=zariga,dc=com"
ldap_add: Object class violation (65)
    additional info: no structural object class provided
这是LDIF文件

dn: cn=DefaultPPolicy,ou=Policies,dc=zariga,dc=com
cn: DefaultPPolicy
objectClass: pwdPolicy
objectClass: top
pwdAttribute: userPassword
pwdMaxAge: 3024000
pwdExpireWarning: 1814400
pwdInHistory: 4
pwdCheckQuality: 1
pwdMinLength: 9
pwdMaxFailure: 4
pwdLockout: TRUE
pwdLockoutDuration: 600
pwdGraceAuthNLimit: 0
pwdFailureCountInterval: 0
pwdMustChange: TRUE
pwdAllowUserChange: TRUE
pwdSafeModify: FALSE

您正试图向LDAP添加一个对象,该对象仅使用定义为辅助对象的
pwdPolicy
objectClass(请参阅),并且添加到LDAP服务器的每个对象都必须具有一个
结构化对象类

您需要更改LDIF文件,以包含一个类似于
结构的
对象类的设备(或您喜欢的任何其他设备,但其类型为
结构的

例如:

dn: cn=DefaultPPolicy,ou=Policies,dc=zariga,dc=com
cn: DefaultPPolicy
objectClass: device
objectClass: pwdPolicy
objectClass: top
...
示例中使用
person
作为结构对象类。但这需要为
sn
设置一个虚拟值,因此
device
可能是一个更好的选择。