用于非本地用户身份验证的 PAM LDAP 配置

用于非本地用户身份验证的 PAM LDAP 配置

我有一个要求,允许非本地用户帐户通过 LDAP 身份验证登录。这意味着,如果用户帐户存在于 LDAP 服务器数据库中,则允许尝试登录的用户访问,无需有本地用户。

如果我运行 NSLCD(/usr/sbin/nslcd),我就能实现这一点。

想知道我们是否可以使用 /etc/pam.d/sshd 或 /etc/pam_ldap.conf 中的任何配置来执行此操作,而无需运行 NSLCD。

请告诉我你的建议

谢谢,Sravani

答案1

不,仅使用 PAM 是无法做到这一点的。

PAM 是一个用于身份验证、授权和相关记账任务的库。它不是一个低级库;如果程序不包含对 PAM 的显式调用,它就什么也不做。

uid 和 gid 的查找通过名为 (Name Service Switch) 的系统进行NSS。此系统通过 进行配置/etc/nsswitch.conf。如果您没有提供用于 NSS 与 LDAP 通信的库,则低级 C 库无法对其进行查找。

可以使用不依赖的 LDAP 的其他 NSS 库nslcd(这是 PADL 提供的旧 LDAP 库的运行方式),但这几乎肯定不是一个好主意。如果没有后台运行的守护进程,每次通话到 NSS 的请求必须打开与 LDAP 服务器的新连接并立即释放它。这非常浪费,并且使得库无法跟踪远程服务器的状态,即在网络中断期间,每个 NSS 查找都必须单独超时。

答案2

如果您使用的是 redhat 或派生发行版,只需使用 authconfig 实用程序。

不确定这是否可以在 Debian/deb 衍生发行版下使用(我怀疑不行)。

如果您需要更多信息,您可能必须指定您正在使用的发行版。

相关内容