备份和恢复每个用户的 Active Directory 密码

备份和恢复每个用户的 Active Directory 密码

出于管理目的,我有时需要以其他用户身份登录来诊断其帐户的问题。我希望能够在不更改密码的情况下执行此操作,这样我就不必一直打扰他们。在 Unix 下,我只需从 passwd 文件中保存加密密码,更改密码,然后将旧的加密密码编辑回 passwd 文件中。有没有办法在 AD 中做类似的事情?

答案1

由于 MarkM 已经解释过为什么我们不应该替换和恢复用户密码,我会尝试解决如何系统阻止我们进行这些更改。

在 Unix 中,密码哈希最初存储在 中/etc/passwd,任何人都可以读取。意识到这可能导致任何用户都可能窃取密码,较新的 unix 系统将密码哈希存储在 中,/etc/shadow只有 可以读取root

Windows 也遵循了类似的路径。在域环境中,域用户的密码哈希存储在每个域控制器上的 SAM 注册表配置单元中。您可能已经熟悉 HKLM 和 HKCU 等配置单元。

从 Windows 2000 开始,SAM 配置单元使用 128 位密码加密密钥进行加密,该密钥本身使用系统密钥。显然,由于操作系统必须读取配置单元的内容才能在登录时对用户进行身份验证,因此加密密钥必须保存在计算机上的某个地方。有关所使用的混淆技术的更深入介绍,请查看SysKey 和 SAM

Windows 尽力阻止管理用户直接读取/写入哈希,并且通常只 以能够读取哈希的用户lsass.exe身份运行。SYSTEM

但是,我相信您已经遇到过绕过这些保护的工具。例如,fgdump能够通过将代码注入到中来从实时系统中导出密码哈希lsass.exe,尽管这可能会导致整个系统崩溃。并且有各种各样的可启动工具可以在 Windows 未运行时覆盖密码哈希。

虽然理论上可以替换用户密码,但您首先需要绕过 Windows 操作系统内置的各种保护措施。任何这些方法都有可能破坏您的系统稳定性,因此切勿在生产环境中使用。

答案2

不可以。

值得深思的是:如果您在一家中等规模的公司工作,那么可能会有一项政策,禁止 IT 部门(或其他部门)人员在未经其他用户明确同意的情况下冒充其他用户。如果您的公司没有这样的政策,您应该认真考虑一下。

答案3

尽管您可能能够备份/恢复 AD 对象,但我从未见过仅使用密码就能完成此操作。

另一种方法是让他们使用 AD 用户和计算机管理工具重置密码。这将让您绕过重复使用密码的安全限制。

答案4

最接近实现这一点的方法是通过 ADUC 重置密码以供您使用,然后重新重置密码以便用户可以重新输入自己的密码。但是,我不确定密码重复限制是否会在这里发挥作用。

作为替代方案,为什么不使用像艾美儿与用户会话交互?或者,如果是计算机本身的问题,请让用户注销并以管理员身份通过 RDP 登录。

相关内容