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=policy,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一登录系统就修改密码

    1:修改配置文件 在前面打开注释 moduleload ppolicy.la modulepath /usr/lib/openldap modulepath /usr/lib64/openldap   ...

  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. C++快速入门系列教程

    C++ 60分钟入门教程:http://see.xidian.edu.cn/cpp/biancheng/view/2755.html

  2. SpringMVC环境搭建 配置文件_2

    applicationContext 命名空间: 引入命名空间,这样可以在代码中使用annotation xmlns="http://www.springframework.org/sche ...

  3. Oracle基础笔记

    =====================================第一章:oracle数据库基础============================================= Or ...

  4. Centos 6.5 SNMP客户端安装及配置版本net-snmp-5.7.3

    Centos 6.5 SNMP客户端安装及配置SNMP版本:net-snmp-5.7.3.tar.gz1.下载软件cd /usr/local/srcyum -y install gccwget htt ...

  5. gulp.js基础入门

    安装 Node 去 nodejs.org 根据系统选择性按照教程安装Node. 创建项目 创建项目文件夹 进入项目文件夹 初始化项目 使用npm命令:npm init,根据提示完成. 安装 Gulp ...

  6. android platform下载地址

    大陆直接访问Android的光放网站一般情况下比较困难,特此列出了Android各个SDK版本的直接下载地址. ADT 23.0.4:https://dl.google.com/android/ADT ...

  7. WebViewJavascriptBridge详细使用(转载)

    WebViewJavascriptBridge是支持到iOS6之前的版本的,用于支持native的iOS与javascript交互.如果需要支持到iOS6之前的app,使用它是很不错的.本篇讲讲Web ...

  8. Spring集成Memcached三种方式(一)

    转载:http://blog.csdn.net/u013725455/article/details/52102170 Memcached Client目前有3种: Memcached Client ...

  9. 拒绝访问 temp 目录。用来运行 XmlSerializer 的标识“IIS APPPOOL\UGAS”没有访问 temp 目录的足够权限

    在部署IIS时候会出现下图错误,拒绝访问 temp 目录.用来运行 XmlSerializer 的标识“IIS APPPOOL\UGAS”没有访问 temp 目录的足够权限 解决方法: 在IIS信息管 ...

  10. php 判断文件/目录是否存的方法

    涉及函数 is_file(), is_dir() , file_exists() is_file() 判断文件是否存在 is_dir() 判断目录是否存在 file_exists() 既可用于判断文件 ...