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
 
 

OpenLDAP一登录系统就修改密码的更多相关文章

  1. OpenLDAP,一登录系统就修改密码

    http://guodayong.blog.51cto.com/263451/d-2 郭大勇的博客   1:修改配置文件 在前面打开注释 moduleload ppolicy.la modulepat ...

  2. winform设计一个登录界面和修改密码的界面-自动切换窗体(问题[已解] 望一起讨论)(技术改变世界-cnblog)

    http://www.cnblogs.com/IAmBetter/archive/2012/01/14/2322156.html winform设计一个登录界面和修改密码的界面-自动切换窗体(问题[已 ...

  3. windows系统远程修改密码

    1.需求:公司需要短时间.批量修改一些windows系统的管理员密码: 2.准备工作: a.下载软件:链接:https://pan.baidu.com/s/1kV52DqE1_4siPuxS5Mosc ...

  4. Flask -- 使用数据库(Sqlite3)、用户注册、登录注销、修改密码

    # 使用sqlite数据库 import sqlite3from contextlib import closing app.config.update( DATABASE = 'my.db', #相 ...

  5. Mysql查看登录用户以及修改密码和创建用户以及授权(转载)

    本文转自(https://www.cnblogs.com/manzb/p/6491924.html) 1.mysql查看当前登录用户,当前数据库: select user(); select data ...

  6. 一百:CMS系统之修改密码逻辑

    定义一个基类form,用于获取错误信息 from wtforms import Form class BaseForm(Form): def get_error(self): # a = {'aaa' ...

  7. PHP实现登录,注册,密码修改

    注册,登录,修改密码 1.登录 2.忘记密码 3.免费注册 页面布局 <div id="views" class="views"> <div ...

  8. MySql数据库安装&修改密码&开启远程连接图解

    相关工具下载地址: mysql5.6 链接:http://pan.baidu.com/s/1o8ybn4I密码:aim1 SQLyog-12.0.8 链接:http://pan.baidu.com/s ...

  9. Shell脚本中非交互式修改密码的方法(转)

    这篇文章主要介绍了Shell脚本中非交互式修改密码的两种方法,本文讲解了使用chpasswd和使用passwd和--stdin组合两种方法,需要的朋友可以参考下. 对系统定期修改密码是一个很重要的安全 ...

随机推荐

  1. linux下postgres未能正常启动的解决过程

    转载:http://www.cnblogs.com/starRebel/p/7892214.html 起因是一次linux服务器重启后,postgres没有起来,手动找原因. 1. 直接在命令行打po ...

  2. POJ 3984(DFS入门题 +stack储存路径)

    POJ 3984 Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, ...

  3. Otto.de:我为什么选择分布式垂直架构

    Otto.de:我为什么选择分布式垂直架构 http://cloud.51cto.com/art/201510/493867.htm

  4. laravel command调用方法命令

  5. ArcPy批量计算Mean Center的两个实例

    很久没用arcpy了,碰了好几次壁,把这次做的贴上来,以备下次可以跳过这些简单的问题 import arcpy arcpy.env.workspace = 'C:\Users\Qian\Documen ...

  6. jquery promise (Deferred)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. 高性能消息中间件——NATS

    前 言 这段时间我的主要工作内容是将公司系统中使用的RabbitMQ替换成NATS,而此之前我对Nats一无所知.经过一段时间紧张的学习和开发之后我顺利的完成了任务,并对消息中间件有了更深的了解.在此 ...

  8. Linux中修改环境变量及生效方法(永久、临时)环境变量查看

    参考link:https://blog.csdn.net/u011630575/article/details/49839893 在项目中有一次帮忙组里搭环境时遇见了这部分的相关操作,记录一下.

  9. Android开发 ---构建对话框Builder对象,消息提示框、列表对话框、单选提示框、多选提示框、日期/时间对话框、进度条对话框、自定义对话框、投影

    效果图: 1.activity_main.xml 描述: a.定义了一个消息提示框按钮 点击按钮弹出消息 b.定义了一个选择城市的输入框 点击按钮选择城市 c.定义了一个单选提示框按钮 点击按钮选择某 ...

  10. Charles抓包基本用法

    Charles抓包 浏览器发送和接受的所有请求都可以抓到 1.可以定位问题(如果看不出来是服务端问题还是前端问题) 2.可以设置弱网模式 清空请求按钮如图: 抓包: 1 打开charles,在浏览器中 ...