添加:添加密码策略时出现对象类违规错误

时间:2015-11-15 05:32:44

标签: 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)
    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

1 个答案:

答案 0 :(得分:3)

您尝试仅使用pwdPolicy objectClass 将对象添加到LDAP,该对象定义为AUXILIARY(请参阅Password Policy for LDAP Directories, ch. 5.1)和每个对象添加到LDAP服务器必须具有STRUCTURAL objectClass

您需要更改 LDIF 文件,以包含一个STRUCTURAL objectClass ,例如 device (或任何其他您喜欢的但是它的类型是STRUCTURAL)。

例如:

dn: cn=DefaultPPolicy,ou=Policies,dc=zariga,dc=com
cn: DefaultPPolicy
objectClass: device
objectClass: pwdPolicy
objectClass: top
...