本文由ilanniweb微信公众号提供友情赞助,首发于烂泥行天下
jenkins技术分享QQ群:571981257
上一篇文章我们介绍了,有关OpenLDAP的安装与配置,这篇文章我们再来介绍下,OpenLDAP自助修改密码系统Self Service Password的搭建与配置。
OpenLDAP安装完毕后,如果用户要修改密码的话,就需要通过OpenLDAP管理员来进行修改。
为了解放管理员的工作,让OpenLDAP用户可以自行进行密码的修改和重置,就需要我们来搭建一套自助修改密码系统。
在此我们使用的是开源的基于php语言开发的ldap自助修改密码系统Self Service Password。
PS:本次实验基于centos7,Self Service Password使用1.2版本。
一、Self Service Password安装
Self Service Password是一个Web应用,可以让用户自行更新、修改和重置LDAP中的用户密码。支持标准的LDAPv3目录服务,包括:OpenLDAP,Active Directory,OpenDS,ApacheDS等。
Self Service Password的官网,如下:
https://ltb-project.org/doku.php
Self Service Password下载链接,如下:
http://ltb-project.org/wiki/download
Self Service Password的源码github仓库链接,如下:
https://github.com/ltb-project/self-service-password
Self Service Password官方提供多种安装方式,本文采用yum方式进行安装。
配置Self Service Password的yum仓库源,如下:
cat >> /etc/yum.repos.d/ltb-project.repo << “EOF”
[ltb-project-noarch]
name=LTB project packages (noarch)
baseurl=https://ltb-project.org/rpm/$releasever/noarch
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-LTB-project
EOF
使用如下命令进行安装:
yum -y install self-service-password
通过上图,我们可以很明显的看出在安装Self Service Password的同时,也会安装apache和php等相关依赖。
有关apache和php的相关配置,可以查看我博客里面的相关文章。
现在我们来查看下Self Service Password安装的文件,如下:
rpm -ql self-service-password
通过上图,我们可以很明显的看出Self Service Password被安装到/usr/share/self-service-password目录下,其中config.inc.php是Self Service Password的配置文件。
二、修改apache配置文件
前文介绍过了Self Service Password的运行是基于php的,在此我们使用的是apache作为php的web容器。
所以还需要我们修改Self Service Password的apache配置文件self-service-password.conf,其内容如下:
cat > /etc/httpd/conf.d/self-service-password.conf << “EOF”
<VirtualHost *>
DocumentRoot /usr/share/self-service-password
DirectoryIndex index.php
AddDefaultCharset UTF-8
Alias /ssp /usr/share/self-service-password
<Directory “/usr/share/self-service-password”>
AllowOverride None
Require all granted
</Directory>
LogLevel warn
ErrorLog /var/log/httpd/ssp_error_log
CustomLog /var/log/httpd/ssp_access_log combined
</VirtualHost>
EOF
当然也可以直接使用官网提供的apache配置文件内容。如下:
https://ltb-project.org/documentation/self-service-password/1.2/config_apache
除了apache的配置文件内容外,官网也提供了nginx的配置文件内容,如下:
https://ltb-project.org/documentation/self-service-password/1.2/config_nginx
三、修改Self Service Password的配置文件
apache的配置文件修改完毕后,我们再来修改Self Service Password的配置文件config.inc.php。
有关Self Service Password所有的安装和修改,我们都可以通过官网提供的帮助文档进行查询。如下:
https://ltb-project.org/documentation/self-service-password/1.2/start
要修改Self Service Password的配置文件,我们可以直接参考官网提供的资料。如下:
https://ltb-project.org/documentation/self-service-password/1.2/config_ldap
下面我这边提供部分Self Service Password配置文件的信息,如下:
vim /usr/share/self-service-password/conf/config.inc.php
$ldap_url = “ldap://192.168.123.6:389”;
$ldap_starttls = false;
$ldap_binddn = “cn=root,dc=ilanni,dc=com”;
$ldap_bindpw = “123456”;
$ldap_base = “ou=People,dc=ilanni,dc=com”;
$ldap_login_attribute = “uid”;
$ldap_fullname_attribute = “cn”;
$ldap_filter = “(&(objectClass=person)($ldap_login_attribute={login}))”;
$keyphrase = “ilanni”;
完整的配置文件,可以直接从这个地址进行下载,点我下载。
Self Service Password配置文件修改完毕后,我们来启动apache并访问,如下:
systemctl enable httpd
systemctl start httpd
systemctl status httpd
访问Self Service Password,如下:
http://192.168.123.8/index.php
四、使用Self Service Password修改密码
在第三章节中,我们可以很明显的看到Self Service Password已经提供了修改密码的web界面。
在此,我们再来介绍下Self Service Password提供的几种修改密码的方式。
第一种:用户知道自己的旧密码,由于某种原因,需要修改密码。
第二种:用户忘记自己的密码,现在需要找回密码。
对于第一种情况,用户可以直接在Self Service Password的web页面进行修改。实际操作如下:
通过web界面,我们可以很明显的看出Self Service Password已经修改用户ldapuser1的密码。
现在我们来使用ldapadmin这个ldap客户端工具,进行测试下修改后的密码。
而第二种情况,我们可以通过邮件或者短信的方式进行找回。注意:短信方式,在此我们未启用。实际效果如下:
通过上图,我们可以很明显的看出ilanni@ilanni.com这个邮箱,已经收到了用户ldapuser1的密码重置邮件。
此时我们只需要点击这个邮件中提供的链接地址,就可以对ldapuser1用户进行密码重置了。
到此有关Self Service Password自助修改密码的全部功能就已经介绍完毕。
未经允许不得转载:烂泥行天下 » 烂泥:搭建OpenLDAP自助修改密码系统Self Service Password