如何禁用 LDAP 帐户?

Rap*_*zog 8 openldap ldap accounts

LDAP 使用 posixAccount 架构和相关属性,我想知道是否有禁用帐户的标准化方法。重新启用该帐户显然应该重新启用以前的密码。

我知道passwd --lock/etc/passwd. 相同的约定是否适用于 LDAP 条目的 userPasswd 字段?

更新:我知道下面的 PAM/NSS,我的问题是专门针对 LDAP 服务器的。一旦帐户被锁定,我希望用户无法打开到 LDAP 服务器本身的经过身份验证的连接(使用他自己的凭据)。这是因为一些服务使用成功的 LDAP 身份验证连接作为简单的身份验证机制,而不使用 PAM 来完成此任务(这在 Web 界面中很常见)。

小智 5

您可能有兴趣尝试slapo-ppolicy(密码策略覆盖),如此处建议的那样。这确实是一种标准,尽管对于您想要做的事情来说可能有点矫枉过正。具体来说,有趣的属性是

pwd账户锁定时间

该属性包含用户帐户被锁定的时间。如果帐户已被锁定,则密码可能不再用于对目录进行用户身份验证。如果 pwdAccountLockedTime 设置为 000001010000Z,则用户的帐户已被永久锁定,只能由管理员解锁。


Jan*_*nen 4

呵呵。

Unix/Linux 和做某事的标准化方法。你真是个有趣的小伙子。我知道,我知道,在很多情况下都有标准的处理方法,但 LDAP 肯定不是其中之一。LDAP 与 Perl 的座右铭“有不止一种方法可以做到”押韵。

与/etc/passwd中(或者准确地说,在/etc/shadow中)中相同的约定将起作用。在您的系统下面,使用 PAM(用于身份验证)和 NSS 库(用于名称查找)来解析帐户信息,对于用户态应用程序,如果结果来自 pam_ldap、pam_mysql、nss_files、nss_bdb、nss_mysql、nss_ldap 或其他来源,那么它是透明的只要它是标准形式。

所以,当谈到 LDAP 时...

  • 有些人喜欢利用ldapmodify编写自己的脚本
  • 其他人使用图形客户端,例如gqLuma
  • 其他人使用 Perl 和 Net::LDAP 或其他脚本语言及其 LDAP 绑定
  • 其他人使用PHPMyAdmin和类似的 Web 界面

您首选的方式是什么?如果使用 passwd 命令,则只需使用 pam_ldap 和 nss_ldap 挂钩系统即可。然后所有熟悉的实用程序将继续照常工作。

  • “与 /etc/passwd 中(或者准确地说,在 /etc/shadow 中)相同的约定将起作用。” 是有帮助的线。如果 Raphaël 已经有一种在旧密码前添加 ! 的方法,那么我就回答了他的问题。你的评论对他有什么帮助?:-) (3认同)