1:修改配置文件
在前面打开注释
moduleload ppolicy.la
modulepath /usr/lib/openldap
modulepath /usr/lib64/openldap
还要在database config前面加上这两段
access to attrs=userPassword
by self write
by anonymous auth
by dn="cn=Captain,dc=le,dc=com" write
by * none
access to *
by self write
by dn="cn=Captain,dc=le,dc=com" write
by * read
在末尾添加
overlay ppolicy
ppolicy_default cn=Captain,ou=pwpolicies,dc=le,dc=com
2:重新生成数据库并加载slapd
rm -rf /etc/openldap/slapd.d/*
[root@ll ~]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
config file testing succeeded
[root@ll ~]# chown -R ldap.ldap /etc/openldap/*
[root@ll ~]# chown -R ldap.ldap /var/lib/ldap
[root@ll ~]# /etc/init.d/slapd restart
3:可以看到ppolicy.la模块已经加载进来了
也可以看到这个也加进来了
4:编辑
cat 1.ldif
dn: ou=pwpolicies,dc=le,dc=com
objectClass: organizationalUnit
ou: pwpolicies
ldapadd -x -D "cn=Captain,dc=le,dc=com" -W -f 1.ldif
添加进去
从phpLdapadmin看到多了
添加cn=Captain,ou=pwpolicies,dc=le,dc=com这个的一些属性值
[root@ll ~]# cat 2.ldif
dn: cn=Captain,ou=pwpolicies,dc=le,dc=com
cn: Captain
objectClass: pwdPolicy
objectClass: person
pwdAllowUserChange: TRUE
pwdAttribute: userPassword
pwdExpireWarning: 259200
pwdFailureCountInterval: 0
pwdGraceAuthNLimit: 5
pwdInHistory: 5
pwdLockout: TRUE
pwdLockoutDuration: 300
pwdMaxAge: 2592000
pwdMaxFailure: 5
pwdMinAge: 0
pwdMinLength: 8
pwdMustChange: TRUE
pwdSafeModify: TRUE
sn: dummy value
然后导入:ldapadd -x -D "cn=Captain,dc=le,dc=com" -W -f 2.ldif
然后修改用户的属性
[root@ll ~]# cat modify.ldif
dn: uid=test5,ou=people,dc=le,dc=com
changetype: modify
replace: pwdReset
pwdReset: TRUE
ldapmodify -x -D "cn=Captain,dc=le,dc=com" -W -f modify.ldif 导入
ldapwhoami -x -D uid=test5,ou=people,dc=le,dc=com -W -e ppolicy -v 查看test5用户的策略信息
然后测试:ssh test5@10.0.0.61,一直报错,改不了:
这是因为配置文件变了:
这个里面的内容没有使用ldap
正确的形式:
若passwd修改不了密码,那是因为,没有添加,Samba的按照Samba的再添加sambaLMPassword,sambaNTPassword即可
access to attrs=userPassword
by self write
by anonymous auth
by dn="cn=Captain,dc=le,dc=com" write
by * none
access to *
by self write
by dn="cn=Captain,dc=le,dc=com" write
by * read