Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >PHP LDAP Windows 2008r2更改用户密码

PHP LDAP Windows 2008r2更改用户密码
EN

Stack Overflow用户
提问于 2013-11-29 12:18:28
回答 2查看 3.4K关注 0票数 0

我这里有一台Windows Server 2008r2,安装了Active Directory、DNS、DHCP和DC,用于测试目的,我对LDAP还很陌生。

我想为自己更改密码,即使我不是管理员。

所以,这是我现在正在编写的脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// LDAP Variables
$serverip = "192.168.2.1";
$serverport = 636;
$username = "user";
$userpassword = "password1";
$newpass = "password2";
$userDn = "CN=$username,CN=Users,DC=dc-name";

$ldapconn = ldap_connect($serverip, $serverport) or die("LDAP Connection Failed!\n");
ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
if ($ldapconn) {
    echo "Connection succeded\n";
    // LDAP Bind
    $bindresult = ldap_bind($ldapconn, $username, $userpassword);
    if ($bindresult) {
        echo "Bind: Succeded\n";
        $userData['unicodePwd'] = toPwEntry($newpass);
        $modresult = ldap_mod_replace($ldapconn, $userDn , $userData);
        if (!$modresult) echo "PW Change Failed - Error No. ". ldap_errno($ldapconn).": " .ldap_error($ldapconn) . "\n";
    }
    else echo "Bind Failed - Error No. ". ldap_errno($ldapconn).": " .ldap_error($ldapconn) . "\n";
}
else echo "Connection failed - Error No. ". ldap_errno($ldapconn).": " .ldap_error($ldapconn) . "\n";    

function toPwEntry($pw) {
    return("\"". iconv('UTF-8','UTF-16LE',$pw) ."\"");
}
ldap_close($ldapconn);

当我启动脚本时,我得到了这个错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
soenke@work:~/Desktop/$ php ldap.php
Connection succeded
Bind Failed - Error No. -1: Can't contact LDAP server

我也尝试通过在ip前面使用"ldaps://“进行连接,但不起作用。如果有任何帮助,我将不胜感激!

EN

回答 2

Stack Overflow用户

发布于 2013-11-29 14:21:41

以下是一些建议:

ldap_bind()想要$userDN而不是$username。不过,这会导致不同的错误消息。

在调用ldap_bind()之前,您的web服务器和ldap服务器之间没有实际的网络流量,因此请确保没有任何防火墙/网络问题,等等。错误消息显示“无法联系服务器”;这可能正是正在发生的情况。(在更高版本的ldap_connect()库中,ldap函数只是初始化本地结构。您可以更像"ldap_init()“--这里的”连接成功“消息并不意味着网络连接成功。)

您可以在389而不是636上设置LDAP服务器来处理安全和不安全连接。确保您连接到服务器希望您连接的位置。

如果您的TLS连接端无法验证服务器证书,也可能会出现这些症状。您必须提供要信任的根证书,或者将客户端配置为不验证证书(例如,如果服务器具有自签名证书)。其中任何一个都可以通过在ldap.conf文件中设置变量来实现。放置ldap.conf的位置取决于您的web服务器设置。

这个:http://www.novell.com/coolsolutions/tip/5838.html和这个:http://www.whatsnoodle.com/php-ldap_bind-gives-the-error-cant-contact-ldap-server/可能会为您提供更多详细信息。

票数 0
EN

Stack Overflow用户

发布于 2013-12-02 22:09:49

Active Directory只允许您通过LDAPS更改密码,我非常确定您必须使用端口636。

当您指定LDAPS://时,尝试使用大写字母。至少有一个MS提供程序名字对象区分大小写。我不完全确定它是不是LDAP;我多年来一直对所有绰号都使用大写字母。

我认为您的密码必须是八位字节字符串(字节数组)。我不会读PHP,所以我不知道你是不是在做这个,但我猜是这样的。

您的域控制器需要证书才能执行LDAPS。我不是证书专家,但我认为您为服务器使用的名称必须与证书上的名称匹配,而且它通常不是IP地址(尽管我认为您可以在证书上将它们放在备用名称中),因此我认为您应该使用服务器名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20285640

复制
相关文章
ldap 用户密码自助部署
为了方便同学们日常工作中忘记密码后 可以自己找回密码,减少运维同学操作,特此部署了一个系统来解决同学密码问题。
怀朔
2022/05/29
1.8K0
ldap 用户密码自助部署
oracle用户更改密码_修改system用户密码
前几天通过plsql登录数据库时,提示密码过期,需要修改密码,那就修改呗。改完过了会,再登录,发现用户被锁了。那就去解锁下吧。
全栈程序员站长
2022/09/19
2.9K0
oracle用户更改密码_修改system用户密码
使用 CHNTPW 更改 Windows 密码
用U盘安装kali,并启动启动。将 Sam 文件复制到kali 桌面,或者用U盘启动工具复制Sam文件到U盘,然后在复制到kali中。
逍遥子大表哥
2022/03/25
3.3K0
使用 CHNTPW 更改 Windows 密码
oracle更改用户的密码
1、以system或者sys的身份登录。登录语句sqlplus system/psw@ora_name或者sqlplus sys/psw@ora_name as sysdba。
全栈程序员站长
2022/09/19
2.5K0
oracle数据库用户更改密码_oracle用户密码忘记了
1.WIN+R打开运行窗口,输入cmd进入命令行: 输入sqlplus ,输入用户名,输入口令(如果是超级管理员SYS的话需在口令之后加上as sysdba)进入sql命令行;
全栈程序员站长
2022/09/19
2.7K0
oracle数据库用户更改密码_oracle用户密码忘记了
mysql 如何修改用户密码_MySQL如何更改用户密码
2、正在更改密码的用户正在使用该应用程序,因为如果在不更改应用程序的连接字符串的情况下更改密码,则应用程序将无法连接到数据库服务器。
全栈程序员站长
2022/09/07
4.7K0
linux oracle修改密码_linux 更改用户密码
大家好,又见面了,我是你们的朋友全栈君。 Linux环境中修改Oracle用户密码
全栈程序员站长
2022/09/19
12K0
09-4 更改用户密码
五、更改用户密码 本章最后一个主题,将介绍用户如何为自己设置密码(如果拥有超级用户权限,那么也可以为其它用户设置密码)。 1.passwd-设置或更改密码 使用 passwd 命令可以设置或更改密码。 (1)语法格式 passwd [user] ''' 功能: 设置或更改密码. 参数: ① user : 可选参数,通过指定一个用户名作为 passwd 命令的参数来为其设置密码(前提是**具有超级用户权限**)。 (若不指定 user 参数,也就是直接输入passwd 命令,更改的是**
见贤思齊
2020/08/11
9830
09-4 更改用户密码
linux修改用户密码命令_linux更改用户密码的命令
使用的Linux版本是:ubuntu-18.10-live-server-amd64
全栈程序员站长
2022/10/04
14.4K0
linux修改用户密码命令_linux更改用户密码的命令
Ubuntu更改密码和用户名步骤
Ubuntu是一个Linux操作系统,修改密码和用户名是有危险的动作,请谨慎修改。
葆宁
2019/04/18
74.6K2
Ubuntu更改密码和用户名步骤
Ubuntu 中更改默认的 root 用户密码,以及怎样修改用户密码
如题,相信许多刚接触 Ubuntu 系统的新手大多会遇到这个问题,那么我们该如何解决这个问题呢?Ubuntu 在安装过程中并没有让我们设置 root 用户密码,但当我们需要获取 root 用户的权限时,就会让我们输入 root 用户的密码,如下图,
村雨遥
2022/06/15
6.6K0
Ubuntu 中更改默认的 root 用户密码,以及怎样修改用户密码
Windows设置用户名密码Windows修改用户名密码步骤
首次登陆请及时修改服务器密码:右击“我的电脑”—— 选择 “管理”—— 选择“本地用户和组”——单击“用户” ,右侧可以看到默认的系统帐号“Administrator” ——右健点击“设置密码” 来设置您自己的密码。如下图1、图2:
chenzhouliyan
2019/08/06
7.8K0
mysql中更改密码的首选语句_MySQL如何更改用户密码?(代码实例)「建议收藏」
在MySQL中,可以使用3种不同的语句更改用户帐户密码:UPDATE statementSET PASSWORD statementALTER USER statement.
全栈程序员站长
2022/09/21
5.7K0
mysql中更改密码的首选语句_MySQL如何更改用户密码?(代码实例)「建议收藏」
mysql8.0修改用户密码_sql数据库更改用户登录密码
示例:修改mysql数据库中的user表中的test用户的登录密码。 MySQL版本号:8.0.15
全栈程序员站长
2022/09/21
3.3K0
mysql8.0修改用户密码_sql数据库更改用户登录密码
Python 操作LDAP实现用户统一认证密码修改功能
最近做了一个单点登录系统,使用的openLDAP存储用户和组信息。封装了一个ldap的操作类。ldap这东西还是蛮复杂的,用以备忘吧。要是不知道LDAP是什么东西,请把鼠标移到浏览器右上角,mac系统移到左上角,点小叉叉。呵呵……
星哥玩云
2022/07/04
1.3K0
linux中强制用户在下次登录时更改密码
如果你刚刚使用默认密码创建了一个用户帐户,你还可以使用此技巧强制该用户在第一次登录时更改其密码。 使用 passwd 命令 要强制用户更改用户的密码,首先必须是密码已过期,你可以使用 passwd command,用于通过指定-e或--expire开关以及用户名来更改用户的密码 # passwd --expire rumenz 接下来验证用户 rumenz 密码过期和老化信息 chage command # chage -l rumenz 运行后 passwd command 上面,你可以从输出中看到 c
入门笔记
2022/06/02
3.5K0
LDAP 管理用户(组)
LDAP实现提供被称为目录服务的信息服务,可以看做是一张特殊的数据库系统。可以有效的解决众多网络服务的用户账户问题,规定了统一的身份信息数据库、身份认证机制和接口,实现了资源和信息的统一管理,保证了数据的一致性和完整性。
菲宇
2019/06/12
4.3K0
linux中强制用户在下次登录时更改密码
如果你刚刚使用默认密码创建了一个用户帐户,你还可以使用此技巧强制该用户在第一次登录时更改其密码。 使用 passwd 命令 要强制用户更改用户的密码,首先必须是密码已过期,你可以使用 passwd command,用于通过指定-e或--expire开关以及用户名来更改用户的密码 # passwd --expire rumenz 接下来验证用户 rumenz 密码过期和老化信息 chage command # chage -l rumenz 运行后 passwd command 上面,你可以从输出中看到 ch
玖柒的小窝
2021/10/21
2.9K0
Windows系统安全|Windows中获取用户密码
Windows系统使用两种方法对用户的密码进行哈希处理,它们分别是 LAN Manager(LM)哈希和 NT LAN Manager(NTLM)哈希。所谓哈希(hash),就是使用一种加密函数对其进行加密。这个加密函数对一个任意长度的字符串数据进行一次数学加密函数运算,然后返回一个固定长度的字符串。
谢公子
2022/01/19
2.9K0
Windows系统安全|Windows中获取用户密码
linux命令行修改用户名_linux 更改用户密码
一、《Linux的chmod命令》。在 shell 中,可以使用chown命令来改变文件所有者及用户组,chgrp命令来改变文件所在用户组。在 Linux的C程序中,可以使用chown函数来改变文件所有者,及所在用户组。
全栈程序员站长
2022/09/30
5.6K0

相似问题

更改LDAP用户密码

23

在windows server 2008中使用PHP更改LDAP用户密码

14

LDAP更改密码PHP

12

php用户密码更改ldap_modify ldap_mod_replace

13

使用PHP更改密码或在LDAP中添加用户

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文