我在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
Run Code Online (Sandbox Code Playgroud)
如果我将pwdAttriute指定为"userPassword",则会收到错误消息
LDAP: error code 21 - pwdAttribute: value #0 invalid per syntax
Run Code Online (Sandbox Code Playgroud)
相反,我强制使用OID作为pwdAttribute:
pwdAttribute: 2.5.4.35
Run Code Online (Sandbox Code Playgroud)
对于pwdAttribute,可以使用"userPassword"而不是"2.5.4.35"吗?
我尝试在cn = config中配置openldap来加载模块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
Run Code Online (Sandbox Code Playgroud)
相反,我强制使用OID作为pwdAttribute:
如果同时ppolicy加载了相关模式和叠加层,则可以指定OID或属性名称.
你为什么在那里有objectClass = person?密码策略不是一个人.习惯使用objectClass = device作为密码策略的结构类.
根据我的经验,EJP的答案是不正确的.
我收到了运行openldap 2.4.29的相同错误消息.密码策略覆盖允许使用pwdAttribute: userPassword,但仅在启用覆盖时才允许使用.否则,将使用上面的消息(pwdAttribute: value #0 invalid per syntax)拒绝该值.
如果您的OpenLDAP安装使用动态模块,请务必包含
moduleload ppolicy.la
Run Code Online (Sandbox Code Playgroud)
在您的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
Run Code Online (Sandbox Code Playgroud)
在加载叠加层之前,我只能提供OID pwdAttribute.与改造后--enable-ppolicy并添加overlay条目,我能够使用ldapmodify替换pwdAttribute: 2.5.4.35用pwdAttribute: userPassword.
我必须刷新pwdAttribute加载叠加后的值.
| 归档时间: |
|
| 查看次数: |
9741 次 |
| 最近记录: |