我在 Fedora Core 13 中使用 Openldap 2.4.11。
我正在尝试创建密码策略:
dn: cn=default,ou=policies,dc=estream,dc=com,dc=my
objectClass: person
objectClass: pwdPolicy
objectClass: top
cn: default
pwdAttribute: 2.5.4.35
sn: test
如果我将 pwdAttriute 指定为“userPassword”,则会收到错误
LDAP: error code 21 - pwdAttribute: value #0 invalid per syntax
相反,我强制对 pwdAttribute 使用 OID:
pwdAttribute: 2.5.4.35
是否可以对 pwdAttribute 使用“userPassword”而不是“2.5.4.35”?
我尝试配置openldap在cn=config中加载模块ppolicy.la,但重启slapd服务几次后似乎也不起作用:
dn: cn=module{0},cn=config
objectClass: olcConfig
objectClass: olcModuleList
objectClass: top
cn: module{0}
olcModuleLoad: {0}/usr/lib64/openldap/ppolicy.la
最佳答案
根据我的经验,EJP 的答案是不正确的。
我在运行 openldap 2.4.29 时收到了相同的错误消息。密码策略覆盖允许使用 pwdAttribute: userPassword
,但前提是启用了覆盖。否则,该值将被拒绝,并显示上述消息(pwdAttribute:值 #0 根据语法无效
)。
如果您的 OpenLDAP 安装使用动态模块,请务必包含
moduleload ppolicy.la
在您的 slapd.conf
文件中(或 cn=config
数据库中合适的等效文件)。
然后加载相应数据库的覆盖层:
database bdb
suffix "o=example.com"
rootdn "cn=Directory Manager,o=example.com"
rootpw password
directory /opt/openldap-2.4.29/var/openldap-data/example.com
overlay ppolicy
在加载叠加层之前,我只能为 pwdAttribute
提供 OID。使用 --enable-ppolicy
重建并添加 overlay
条目后,我能够使用 ldapmodify 将 pwdAttribute: 2.5.4.35
替换为 pwdAttribute:用户密码
。
加载叠加层后,我确实必须刷新 pwdAttribute
的值。
关于ldap - Openldap:是否可以使用 "userPassword"而不是 "2.5.4.35"作为 pwdAttribute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5577660/