OpenLDAP默认是没有密码检查策略的,123456这也得密码也能接受,这显然是管理员不希望看到的。
参考地址:https://www.yaoge123.com/blog/archives/1276
导入密码策略schema
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/ppolicy.ldif
假如没有cn=module{0}的话,参考地址:https://www.cnblogs.com/Kevin-1967/p/8931304.html,需要添加:因为需要在OpenLdap中添加组的功能,所以需要添加memberOf功能,步骤如下
在/etc/openldap目录下新建文件memberof_load_configure.ldif。内容如下:
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulepath: /usr/lib64/openldap
olcModuleload: {0}memberof.la
dn: olcOverlay={0}memberof,olcDatabase={2}hdb,cn=config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: {0}memberof
说明:上面的参数请根据实际情况修改(比如32的系统的话olcModulepath为/usr/lib/openldap)
dn: cn=module{0},cn=config 如果/etc/openldap/slapd.d/cn=config目录下已经存在cn=module{0}.ldif 文件的话,你就需要修改 module后面的数字了
dn: olcOverlay={0}memberof,olcDatabase={2}bdb,cn=config 这行中 如果上述目录中没有olcDatabase={2}bdb.ldif文件就把 olcDatabase={2}bdb改成olcDatabase={2}hdb
之后执行命令ldapadd -Q -Y EXTERNAL -H ldapi:/// -f memberof_load_configure.ldif。
加载模块,因为已经添加过syncprov模块了,所以只要追加ppolicy模块就可以了
dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: ppolicy.la
ldapmodify -Y EXTERNAL -H ldapi:/// -f mod_ppolicy.ldif
指定默认策略dn名
dn: olcOverlay=ppolicy,olcDatabase={2}hdb,cn=config changeType: add objectClass: olcOverlayConfig objectClass: olcPPolicyConfig olcOverlay: ppolicy olcPPolicyDefault: cn=default,ou=Users,dc=hbjc,dc=com olcPPolicyHashCleartext: TRUE
ldapmodify -Y EXTERNAL -H ldapi:/// -f ppolicy.ldif
创建默认策略
dn: ou=Users,dc=hbjc,dc=com objectClass: organizationalUnit objectClass: top ou: ppolicy dn: cn=default,ou=Users,dc=hbjc,dc=com cn: default objectClass: top objectClass: device objectClass: pwdPolicy objectClass: pwdPolicyChecker pwdAllowUserChange: TRUE pwdAttribute: userPassword pwdCheckQuality: 2 pwdExpireWarning: 604800 pwdFailureCountInterval: 0 pwdGraceAuthnLimit: 5 pwdInHistory: 5 pwdLockout: TRUE pwdLockoutDuration: 600 pwdMaxAge: 0 pwdMaxFailure: 5 pwdMinAge: 0 pwdMinLength: 8 pwdMustChange: FALSE pwdSafeModify: FALSE pwdCheckModule: check_password.so
ldapadd -Y EXTERNAL -H ldapi:/// -f defaultppolicy.ldif
修改/etc/openldap/check_password.conf,定义check_password.so规则
MirrorMode的两台LDAP均需进行上述同样的配置