我有一个应用程序 (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 方式进行身份验证。