我有一台安装了 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 目录