如何在 OpenLDAP 2.4.11 上添加密码策略?

如何在 OpenLDAP 2.4.11 上添加密码策略?

我有一台安装了 OpenLDAP 2.4.11 的服务器。

我正在尝试为所有用户添加密码策略。

因此,我启用了 ppolicy 模块:

bash# grep ppolicy /etc/ldap/slapd.conf
include         /etc/ldap/schema/ppolicy.schema
moduleload  ppolicy.la
overlay ppolicy
ppolicy_default "cn=default,ou=pwpolicies,dc=myapp,dc=fr"

我创建了一个 ldappolicy.ldif 文件:

dn: ou=pwpolicies,dc=myapp,dc=fr
objectClass: top
objectClass: organizationalUnit
ou: pwpolicies

dn: cn=default,ou=pwpolicies,dc=myapp,dc=fr
objectClass: pwdPolicy
objectClass: organizationalRole
cn: default
pwdMaxAge: 2592000
pwdAttribute: userPassword
pwdExpireWarning: 2592000
pwdInHistory: 0
pwdCheckQuality: 1
pwdMaxFailure: 0
pwdLockout: FALSE
pwdLockoutDuration: 0
pwdGraceAuthNLimit: 0
pwdFailureCountInterval: 0
pwdMustChange: FALSE
pwdMinLength: 12
pwdAllowUserChange: TRUE
pwdSafeModify: FALSE

我补充一下:

ldapadd -x -h myserver.fr -D 'cn=admin,dc=myapp,dc=fr' -w password  -f ldappolicy.ldif

但是当我尝试为用户设置 4 个字符的密码时,它仍然有效:

ldappasswd -x -h myserver.fr -D cn=RandomUserLogin,ou=Users,dc=myapp,dc=fr -w oldPasswordOfTheUser -s test

我尝试按照其他人的教程操作,但每次都会遇到新问题。例如,似乎必须启用“ppolicy-module”。

所以我创建了一个 ppolicy-module.ldif 文件:

dn: cn=module{0},cn=config
changeType: modify
add: olcModuleLoad
olcModuleLoad: ppolicy

当我尝试使用它时,出现访问权限不足错误:

bash# ldapmodify -x -h myserver.fr -D cn=admin,dc=myapp,dc=fr -w password -f ppolicy-module.ldif

ldap_modify: Insufficient access (50)

因此,我启用 ldapi 访问,因为我是服务器上的 root 权限,所以我可以这样做。然后,我尝试:

sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f ppolicy-module.ldif

但同样的错误:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=module{0},cn=config"
ldap_modify: Insufficient access (50)

在其他一些教程中,我发现了一些提及的文件:

/etc/ldap/slapd.d/

喜欢 :

/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif

但就我而言,我没有任何 slapd.d 目录

相关内容