允许 LDAP 用户更改密码

允许 LDAP 用户更改密码

如何允许 LDAP 用户从客户端机器更改密码?

答案1

不能。LDAP 是一种目录服务,不提供最终用户工具。提供此功能是最终用户工具的责任。

例如,假设你已经正确配置了使用 LDAP 的 PAM 身份验证,那么使用 'passwd' 应该是可能的

答案2

OpenLDAP 的默认配置已经有了:

# The userPassword by default can be changed
# by the entry owning it if they are authenticated.
# Others should not be able to see it, except the
# admin entry below
# These access lines apply to database #1 only
access to attrs=userPassword,shadowLastChange
        by anonymous auth
        by self write
        by * none

答案3

您可以启用 ldap-auth-client(debian 和 ubuntu)来编辑密码,就像在本地机器上一样。如果您运行 并选择“是”作为“使本地根数据库管理员”,这将允许您像平常一样dpkg-reconfigure ldap-auth-config运行。passwd

您也可以通过编辑 /etc/ldap.conf 文件并添加以下内容来执行此操作:

# The distinguished name to bind to the server with
# if the effective user ID is root. Password is
# stored in /etc/ldap.secret (mode 600)
rootbinddn dn-for-your-admin-account-in-ldap

如果你手动编辑文件,则需要在 /etc/ldap.secret 中发布 root 帐户的密码,并将其设置为 600

您可能还需要编辑 /etc/pam.d/common-password 并删除该use_authtok参数。如果您编辑 pam 文件,请确保运行 pam-auth-update 或重新启动系统。

答案4

对于使用绑定账户的 389 用户,可以按照以下方式为绑定账户创建 ACL:

(targetattr="*")(版本 3.0;acl"绑定帐户";允许(全部)(groupdn ="ldap:///cn=Bind Accounts, dc=ldap,dc=server");)

相关内容