CentOS7下安装self-service-password实现AD域自助修改/重置密码

简介: CentOS7下安装self-service-password实现AD域自助修改/重置密码

之前有介绍OpenLDAP安装与配置: CentOS7下搭建OpenLDAP服务器

这里为了测试方便,我直接使用群晖LDAP Server服务进行测试

640.png

640.png

640.png

一、配置webtatic源安装php7.2环境


wget https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum localinstall webtatic-release.rpm


640.png


yum -y install php72w php72w-fpm php72w-cli php72w-common php72w-gd php72w-ldap php72w-mbstring

640.png

vi /etc/php.ini
时区配置
date.timezone = Asia/Shanghai

640.png

systemctl enable php-fpm.service
systemctl start php-fpm.service

640.png


二、安装 self-service-password


https://ltb-project.org/download.html


下载地址


https://ltb-project.org/archives/self-service-password-1.4.3-1.el7.noarch.rpm

640.png


yum localinstall self-service-password-1.4.3-1.el7.noarch.rpm


会自动使用EPEL源安装php72w-Smarty


640.png


三、安装web中间件并修改配置文件


我这里使用nginx,当然你也可以安装httpd


yum install nginx -y

640.png


修改nginx配置文件


vi /etc/nginx/nginx.conf


640.png


server段修改成如下行


server {
  listen       80;
  listen       [::]:80;
  root /usr/share/self-service-password/htdocs/;
  index index.php index.html index.htm;
  # Make site accessible from http://localhost/
  server_name _;
  # Disable sendfile as per https://docs.vagrantup.com/v2/synced-folders/virtualbox.html
  sendfile off;
  gzip on;
  gzip_comp_level 6;
  gzip_min_length 1000;
  gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js;
  gzip_vary on;
  gzip_proxied any;
  gzip_disable "MSIE [1-6]\.(?!.*SV1)";
  # Add stdout logging
  error_log /var/log/nginx/ldapssp_error.log warn;
  access_log /var/log/nginx/ldapssp_access.log main;
  # pass the PHP scripts to FastCGI server listening on socket
  #
  location ~ \.php {
  #fastcgi_pass unix:/var/run/php-fpm.socket;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_split_path_info       ^(.+\.php)(/.+)$;
  fastcgi_param PATH_INFO       $fastcgi_path_info;
  fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_index index.php;
  try_files $fastcgi_script_name =404;
  fastcgi_read_timeout 600;
  include fastcgi_params;
  }
  error_page 404 /404.html;
  location = /404.html {
        root /usr/share/nginx/html;
        internal;
  }
  # deny access to . files, for security
  #
  location ~ /\. {
  log_not_found off;
  deny all;
  }
  location ~ /scripts {
  log_not_found off;
  deny all;
  }
}


640.png


 systemctl start nginx
 systemctl enable nginx
 firewall-cmd --permanent --zone=public --add-port=80/tcp
 firewall-cmd --reload

640.png

这时打开web界面会提示  


Token encryption requires a random string in keyphrase setting

640.png


原因与解决办法:


640.png

640.png


五、修改


cd /usr/share/self-service-password/conf/ 
vim config.inc.php


我这里已经修改好了, 直接上传即可


640.png

640.png

640.png


可以联系微信yuanfan2012索要本文的相关安装包与配置文件


六、AD域密码重置与修改功能测试


  • 1、密码重置能用邮件重置的前提是这个AD域用户有登记这个邮箱地址!


640.png


640.png


640.png


640.png


用重置后的密码登录,测试OK

image.png


2、密码修改

640.png

640.png


Tips


  • 1、定制化标题和页面中的文字内容


vi /usr/share/self-service-password/lang/zh-CN.inc.php


640.png

640.png

640.png

  • 2、本文参考如下链接完成


https://www.cnblogs.com/Fmaj7/p/15791366.html
https://www.ilanni.com/?p=13822
https://www.yeboyzq.com/linux/ruanjiananzhuangweihu/1117.html
https://blog.51cto.com/u_10630242/2538982
https://self-service-password.readthedocs.io/en/stable/installation.html#centos-redhat
https://blog.csdn.net/yanchuandong/article/details/119598665
https://blog.csdn.net/qq461391728/article/details/115867721?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162848744116780265427748%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162848744116780265427748&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-115867721.pc_search_result_control_group&utm_term=self+service+password+%E5%9F%9F%E8%B4%A6%E5%8F%B7&spm=1018.2226.3001.4187
https://self-service-password.readthedocs.io/en/stable/installation.html
相关文章
|
8天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
9天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
69 1
Linux系统之Centos7安装cockpit图形管理界面
|
16天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
49 3
|
17天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
31 2
|
19天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
61 2
|
23天前
|
Linux 知识图谱
Centos7安装killall,fuser, killall,pstree和pstree.x11
通过上述步骤,您已在CentOS 7系统中成功部署了killall、fuser、pstree以及pstree.x11,为高效管理系统进程打下了坚实基础。更多关于服务器管理与优化的知识,获取全面技术支持与解决方案。
29 1
|
23天前
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
51 1
|
5天前
|
存储 安全 Linux
VMware安装CentOS7
【11月更文挑战第11天】本文详细介绍了在 VMware 中安装 CentOS 7 的步骤,包括准备工作、创建虚拟机、配置虚拟机硬件和安装 CentOS 7。具体步骤涵盖下载 CentOS 7 镜像文件、安装 VMware 软件、创建和配置虚拟机硬件、启动虚拟机并进行安装设置,最终完成 CentOS 7 的安装。在安装过程中,需注意合理设置磁盘分区、软件选择和网络配置,以确保系统的性能和功能满足需求。
|
1月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
234 3