如何检查用户是否存在于LDAP

如何检查用户是否存在于LDAP,第1张

ldap同步AD域,只能根据AD上的用户名来判断,如果用户名跟数据库的相同,就表示是同一用户。为区别同名用户建议。再加上各自的AD节点标志。一般同一部门节点下,出现相同名字的人很少。

省略

管理员登录禅道,进入 后台 – 插件 - 本地安装
上传ldapzip

注释其中2行并增加

文件在尾部}前加函数

注意 $filter = "(cn=$account)"; 里面的 cn要和你的ldap登录用户字段一致, 不然不能登录

尾部增加

以关闭md5加密,否则认证不能通过

修改module/ldap/configphp

也可以进页面配置
管理员登录禅道,进入 后台 - LDAP,配置参数如上

保存设置,并手动同步用户

非LDAP用户登录,使用” admin

LDAP的用户直接登录使用即可

你说的是AD域账号吧?先安装lpda3的库

在cmd命令行下运行:

pin install ldap3

然后开始写python脚本

from ldap3 import 

user = "CN=visitor02 ,OU=level1,DC=hello,DC=com,DC=cn" # 定义你要给谁改密码

admin='xxxxxx' #xxxx换成你域控的管理员账号如hello\administrator, hello是域名

adminpwd = 'xxxx' # 域控的管理员密码

s = Server('1010xxxx', get_info=ALL, use_ssl=True) #1010xxxx换成你域控的IP地址,这条是定义域服务器信息

c = Connection(s,user=admin, password=adminpwd, auto_bind=True) #登录域服务器

print(cextendmicrosoftmodify_password(user,"123456")) #这行就是改密码。如果print出true,就是成功了。如果false,再在下面加一条

print(cresponse) #会显示为什么失败。

如果想了解更多的python ldap3库,可以看这个链接网页链接

一台Centos 68 安装ldap server
一台Centos 68安装ldap client

本环境中没有使用dns ,由hosts文件代替
<pre>

echo '19216885129 devcom' >> /etc/hosts
</pre>

<pre>
service iptables stop
chkconfig iptables off
</pre>

<pre>
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
</pre>

<pre>
useradd test01
echo 'abc'| passwd --stdin test01
</pre>

<pre>

yum -y install >[ldap]
server = ldap://xxxxx
accountBase = ou=People,dc=xxx,dc=com
accountPattern = (&(objectClass=person)(uid=${username}))
accountFullName = displayName
accountEmailAddress = mail
accountSshUserName = uid
mandatoryGroup = ldap/"gerrit" #控制到组
groupBase = ou=Group,dc=xxx,dc=com


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13407688.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-30
下一篇 2023-07-30

发表评论

登录后才能评论

评论列表(0条)

保存