利用企业微信自助重置 AD 域用户密码

发布时间 2024-01-11 17:52:04作者: 聆听城市喧哗

                                                                                                               利用企业微信自助重置 AD 域用户密码

AD Password Self Service 是开源官网地址:https://www.ltb-project.org/documentation/self-service-password.html

项目地址:https://github.com/capricornxl/ad-password-self-service

基于 Python + Django 创立的一个密码自助平台,用户通过钉钉或者企业微信授权,可以实现自助重置、解锁 AD 域用户密码

部署步骤:

1、前期准备工作

2、企业微信应用创建和相关配置

3、服务器系统基本配置

4、配置密码自助平台

5、搭建Redise服务

6、配置uwsgi服务器

7、配置nginx代理

8、应用上线测试

一、前期准备工作

本文的测试环境为 CentOS 7.8 操作系统,并且已搭建好 AD 域相关服务。另外你还需要一台带公网 IP 地址的服务器,以通过 API 接口获取企业微信数据。如需离线到下方网盘下载:

链接: https://pan.baidu.com/s/1afplJ1Brl2NpejqdBxJJ0A?pwd=gsqp 提取码: gsqp 

二、企业微信应用创建和相关配置

1、使用企业微信管理员账号,点击此处 登录到管理后台。

2、选择「我的企业」>「企业信息」,在页面底部找到并记录下「企业 ID」。

 3、接着选择「应用管理」>「应用」>「自建」,点击「创建应用」。

 4、上传应用 Logo,并填写应用名称等信息,点击「创建应用」。

 5、创建完成后进入应用,可以看到 AgentId、Secret 等信息,这些信息在使用企业微信 API 时会用到,选择「查看」Secret。

 7、接着设置应用主页,应用类型选择「网页」,输入网页地址。

 8、找到「开发者接口」下的「网页授权及 JS-SDK」,选择「设置可信域名」。

 9、为了通过域名验证,通过windows server 使用小工具快速搭建web,将网站从内网映射出去,将下载的txt文件放Web的根目录下,

10、通过外网访问这个网站的txt文件代表已经通过域认证了

11、接着设置「企业微信授权登录」,在「Web 网页」类型下设置「授权回调域」。

 12、接着为应用配置一个「企业可信 IP」,输入服务器的公网 IP 地址。只有设置的服务器 IP 地址可以通过接口获取企业数据。

三、服务器系统基本配置

1、进入 CentOS 服务器,首先需要禁用 SELINUX 服务,输入以下命令编辑配置文件。

vi /etc/sysconfig/selinux

2、将 SELINUX=enforcing 指令更改为 SELINUX=disabled,保存退出。  

 3、修改成功后重启系统。

reboot

4、安装以下所需组件。

yum -y install wget
yum -y install unzip
yum -y install psmisc 

5、CentOS 7.9 的默认 Python 版本为 2.7.5,需要将其升级到 3.8.2 版本。

python -V 

wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz
tar xvf Python-3.8.2.tgz
mv Python-3.8.2 /usr/local/src/python3

6、安装编译所需的依赖项。

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc libffi-devel -y

7、进入解压后的 Python 文件夹,执行编译命令。

cd /usr/local/src/python3/
./configure && make && make install

8、安装完成后,验证 Python 3 是否安装成功。

python3 -V

9、查看 Python 的安装路径,并备份 Python 2.7 的可执行文件 

whereis python
mv /usr/bin/python /usr/bin/python2.7.bak

 10、修改 yum 配置文件,将两个文件中的 /usr/bin/python 改为 /usr/bin/python2.7,完成后保存。

vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down

 11、链接至 Python 3.8 的可执行文件。

ln -sf /usr/local/bin/python3.8 /usr/bin/python
ln -sf /usr/local/bin/pip3.8 /usr/bin/pip

12、升级 pip 版本。

pip install --upgrade pip 

13、完成后验证 Python 版本。

python -V
Python 3.8.2l 

四、配置密码自助平台 

1、将项目文件下载到服务器并解压。