python-ldap修改AD域用户密码(CA+SSL)
代码连接:https://github.com/raykuan/ldap-notes
使用python的ldap模块连接AD服务器,有两种方式:
非加密:con = ldap.initialize('ldap://myhost.com:389)
加密(SSL):con = ldap.initialize('ldaps://myhost.com:636)
使用非加密的ldap时,只能对AD域账号信息查询。如果要对AD域用户信息进行修改和新增操作,必须使用(SSL)加密方式连接AD,需满足如下几个条件:
① AD上需要安装证书服务
② 连接AD的主机上使用http://myhost.com/certsrv/打开浏览器申请证书
③ 如果连接AD的主机是Linux,需要安装openssl包,制作CA证书
# 使用openssl命令把申请到的AD主机上的CA证书格式转换为.pem
openssl x509 -in master.cer -inform der -outform pem -out master.pem
# 使用openssl命令指定CA证书连接到AD主机
openssl s_client -connect myhost:636 -CAfile /path/to/master.pem
# 查看CN subject信息,python中ldap初始化的时间需要保证和CN的域名一致
openssl x509 -noout -text -in imsva_cert.pem | grep Subject
Subject: C=en, ST=xx, O=yy, OU=zz, CN=test.com
con = ldap.initialize('ldaps://myhost.com')
可以在/etc/hosts文件下增加域名解析记录
④ 在Python的ldap初始化连接AD前,设置CA证书文件加载
import ldap
# point to the cert
cert_file='/path/to/master.pem'
ldap.set_option(ldap.OPT_X_TLS_CACERTFILE, cert_file)
con = ldap.initialize('ldaps://myhost.com')
dn = 'CN=me,DC=myhost,DC=com'
pw = 'password'
con.simple_bind_s(dn, pw)
注意:此处dn是有管理员权限的AD用户,通过绑定此用户才能使用ldaps对域用户的信息进行增删改,查询的时间一般使用非SSL连接,普通用户即可。
python-ldap修改AD域用户密码(CA+SSL)的更多相关文章
- java修改AD域用户密码使用SSL连接方式
正常情况下,JAVA修改AD域用户属性,只能修改一些普通属性, 如果要修改AD域用户密码和userAccountControl属性就得使用SSL连接的方式修改, SSL连接的方式需要操作以下步骤: 1 ...
- 烦烦烦SharePoint2013 以其他用户登录和修改AD域用户密码
sharepoint默认是没有修改AD密码 和切换 用户的功能,这里我用future的方式来实现. 部署wsp前: 部署后 点击以其他用户身份登录 点击修改用户密码: 这里的扩展才菜单我们用Custo ...
- SharePoint2013 以其他用户登录和修改AD域用户密码 功能
sharepoint默认是没有修改AD密码 和切换 用户的功能,这里我用future的方式来实现. 部署wsp前: 部署后: 点击以其他用户身份登录 点击修改用户密码: 这里的扩展才菜单我们用Cust ...
- SharePoint 2013中修改windows 活动目录(AD)域用户密码的WebPart(免费下载)
前段时间工作很忙,好久没更新博客了,趁国庆休假期间,整理了两个之前积累很实用的企业集成组件,并在真正的大型项目中经受住了考验:.Net版SAP RFC适配器组件和SharePoint 2013修改AD ...
- SharePoint 2010中重置windows 活动目录(AD)域用户密码的WebPart(免费下载)
由于SharePoint 2013推出不久,并非所有的企业都会升级到SharePoint 2013的,毕竟升级不是打打补丁这么简单,更多的企业还是使用Sharepoint 2010版本的,因此本人自行 ...
- JAVA 通过LDAP获取AD域用户及组织信息
因为工作需求近期做过一个从客户AD域获取数据实现单点登录的功能,在此整理分享. 前提:用户可能有很多系统的情况下,为了方便账号的统一管理使用AD域验证登录,所以不需要我们的系统登录,就需要获取用户的A ...
- Java使用LdAP获取AD域用户
随着我们的习大大上台后,国家在网络信息安全方面就有了非常明显的改变!所以如今好多做网络信息安全产品的公司和须要网络信息安全的公司都会提到用AD域server来验证,这里就简单的研究了一下! 先简单的讲 ...
- AD 域服务简介(三)- Java 对 AD 域用户的增删改查操作
博客地址:http://www.moonxy.com 关于AD 域服务器搭建及其使用,请参阅:AD 域服务简介(一) - 基于 LDAP 的 AD 域服务器搭建及其使用 Java 获取 AD 域用户, ...
- Window通过Web方式修改域用户密码
如何通过web方式修改域用户密码: 1.在Windows Server 2003上,系统默认提供了iisadmpwd作为一种修改域用户密码的方式 2.在Windows Server 2008上,可以提 ...
随机推荐
- jQuery实用Demo
1.点击 隐藏/显示 元素 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- 在使用Git提交代码的时候犯了个低级错误
今天在使用git提交代码的时候,犯了个很低级的错误,按照一切流程当我add并commit提交代码,最后使用push到远程仓库, 接下来奇怪的事情发生了,push之后,查看远程仓库代码并没有发现提交记录 ...
- android开发学习笔记系列(4)--android动态布局
前言 在做一个有关苏果APP的项目中,但是fuck的是,我完全使用相对布局之后及线性布局之后发现坑爹的事情了,屏幕不能适配,这是多大的痛,意味着,必须使用相应的代码实现动态布局!呵呵,不做项目不知道, ...
- SQL服务器模式
今天在执行这样一条语句时: SELECT store - freez AS less FROM `products`; 报如下错误: Data truncation: BIGINT UNSIGNED ...
- UVa 122 Trees on the level(链式二叉树的建立和层次遍历)
题目链接: https://cn.vjudge.net/problem/UVA-122 /* 问题 给出每个节点的权值和路线,输出该二叉树的层次遍历序列. 解题思路 根据输入构建链式二叉树,再用广度优 ...
- UVa Dropping Balls
题目链接: https://cn.vjudge.net/problem/UVA-679 /* 问题 输入完全二叉树的层数D和有几个小球滚落,计算最后一个小球落入的叶子结点的小号. 解题思路 直接模拟超 ...
- ASP.NET MVC标记最新的发布新闻或文章
开发的网站中,一些文章列表或新闻列表,需要在标题前放置一个小new.gif小图,标记为是最新的新闻或是文章.今天Insus.NET的练习,就是在asp.net mvc的应用程序中实现这样功能.计划使用 ...
- 将ABP的数据库从SQLSERVER迁移到MySql
摘要:之前跟着网上的一些教程,学习了一点ABP的知识.最近想说把默认的SQLSERVER数据迁移到mysql吧 首先网上搜一波 安装MySql.Data.Entity 然后你需要安装 MySql.Da ...
- VC++窗口创建过程,图形绘制,时钟程序
创建窗口步骤: (1)注册窗口类(RegisterClassEx) (2)创建窗口(CreateWindowEx) (3)在桌面显示窗口(ShowWindow) (4)更新窗口客户区(UpdateWi ...
- 【Linux】编辑文件时,箭头按键还有BACKSPACE按键不能正常使用的解决办法
需要安装vim sudo apt-get remove vim-common sudo apt-get install vim