如何在pam中通过LDAP进行身份验证?

如何在pam中通过LDAP进行身份验证?

我有一个应用程序 (Webmin),它必须在 rhel5、6 和 7 上通过 LDAP 对用户进行身份验证。

该软件包nss_ldap以及 rhel7 上的等效软件包nss-pam-ldapd不允许获取未通过 列出的用户getent passwd

我曾经认为,为了在 LDAP 中验证用户身份,我们尝试使用正确的用户可区分名称和提供的密码来建立连接。

是否存在针对 LDAP 进行身份验证而不将这些用户强加为系统用户的模块 pam?为什么我不应该对 Web 应用程序使用这样的身份验证?

答案1

是的,这样的模块确实存在。它可以pam_ldap随软件包一起调用并安装nss_ldap,也可以nss-pam-ldap根据您的 Linux 版本进行安装。安装这些软件包时,您必须配置文件/etc/ldap.conf/etc/nslcd.conf.

确保服务nslcd(RHEL7) 已启动并正在运行。

要通过 LDAP 在 Webmin 中进行身份验证,您必须pam选择一个 pam 模块(让我们考虑一下 webmin)。让其他选项正常。

编辑/etc/pam.d/webmin以替换以下内容:

auth required pam_ldap.so 
session required pam_ldap.so
account required pam_ldap.so 

您可能想保留评论,但考虑删除其他有意义的行。

如果您这样做,密码为 x 的每个用户都将/etc/webmin/miniserver.users通过 LDAP 而不是 Webmin 方式进行身份验证。

相关内容