从Linux更改Windows AD密码


Answers:


19

我已经在OS X上完成了此操作,在Linux上也存在相同的命令。

根据这个网站。看起来是避免将用户名添加到smbpasswd文件中以供使用的方法smbpasswd -U <user> -r <IP address of DC>


根据smbpasswd手册页,这不会做正确的事;该-a标志的意思是“用户名以下,应添加到本地smbpasswd文件”。手册页可能不正确;但我很怀疑
larsk 2011年

谢谢,我检查了手册页,然后检查了谷歌并更改了答案。
JamesBarnett 2011年

2
错误是:NT_STATUS_ACCESS_DENIED。但是,如果我使用smbclient -L尝试列出服务器,则会收到另一条错误消息,提示我密码已过期,这表明我输入的密码正确。
Trejkaz

我懂了NT_STATUS_IO_TIMEOUT。是否有必须打开的端口才能运行此命令?
Christoffer Reijer

3

我使用的解决方案@JamesBarnett与之相同,我刚刚创建了一个脚本,该脚本也获得了域控制器IP (当我需要更改密码时,我永远不知道IP是什么)

#!/bin/bash

USER="your.username"
DOMAIN="yourdomain.com"

smbpasswd -U $USER -r `nslookup _ldap._tcp.dc._msdcs.$DOMAIN | awk '{print $2;exit;}'`

1
nslookup命令将无法像给定的那样工作,因为ldap记录的DNS类型为SRV。您需要执行以下操作:nslookup -type=SRV ...etc...并对其进行适当的过滤(比简单的awk更为复杂),或者更好的方法是:$(dig SRV +noall +additional _ldap._tcp.dc._msdcs.$DOMAIN | awk '{print $5}')在上面的反引号之间替换整个nslookup。
Mike S

@MikeS该命令输出多个由空格分隔的服务器,但是我怀疑smbpasswd可能需要一台服务器。
Trejkaz

@Trejkaz是的,这就是我所说的“适当过滤”。DNS记录的类型为SRV,适用于初学者。您如何获得我显示的SRV记录。现在,如何选择域控制器,那部分我不确定。
迈克S
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.