保存 Active Directory 密码

保存 Active Directory 密码

我对我的一个客户有一个要求,他们希望将所有用户密码存储在 AD 的描述字段中。

一开始一切都很好,因为我们使用脚本来推广新用户。然而问题来了,因为他们的另一个要求是在登录时更改密码。

因此实际上,他们希望用户最初登录,更改密码并将新密码自动保存到 AD 属性中。

目前我唯一能想到的是通过登录脚本来执行此操作,该脚本显示密码更改提示并执行更改并将其记录到该用户帐户的属性中,然后将登录脚本更改为正确的脚本以供日常使用。

有没有其他方法可以通过内置的“下次登录时必须更改密码”设置来实现这一点,或者我已经在寻找最好的方法

干杯

-编辑-

好吧,我知道这不是个好主意。我最终会使用密码过滤器,就像其中一个答案中那样,将密码保存在 Active Directory 之外,然后将文件手动传递给 ICT 员工

答案1

虽然我认为你的这个想法太疯狂了有多种方法可以实现这一点。Active Directory 允许您在域控制器上插入 DLL这将捕获用户提供的密码。您可以在过滤器中执行任何您想要的操作,例如存储密码。

其中一个例子就是密码过滤器 DLL此 DLL 捕获密码更新事件,并可以调用您喜欢的任何程序。过去,我曾使用它来调用 Python 脚本,该脚本将生成与 Google Apps 帐户兼容的 SHA1 密码。

答案2

AD 会加密密码,我认为没有办法在不使用大量自定义编程或键盘记录器的情况下拦截更改的密码。可以使用可逆加密存储密码,但需要编写大量脚本来检测更改、解密,然后更改 AD 描述字段。尽管需要付出很多努力,但让 ICT 员工重置密码或授予教师重置学生密码的权限会更简单。

话虽如此,但这确实是一个糟糕的想法。首先,描述字段和其他所有字段一样,任何可以查询 AD 的用户都可以读取。其次,这违反了我见过的几乎所有密码最佳实践。在任何情况下,都不应将任何用户的密码公开存储。

相关内容