我可以配置 pam_ldap 而不配置 nss 吗?

我可以配置 pam_ldap 而不配置 nss 吗?

在我的服务器上,我的系统用户已使用 Chef 进行配置,并且不想让任何其他用户接触这些机器。不过,我希望将其用作仪表板pam的身份验证后端monit

我需要设置libnss-ldapd才能工作吗?还是我的想法错了。如果我不使用,pam_ldap设置真的很重要吗?nss/etc/pam.d/common-*pam_ldap

答案1

这取决于pam_ldap我们谈论的是哪种风格。您没有提到操作系统,但据libnss-ldapd我所知,我们谈论的是某种 Debian 风格。

libpam-ldaplibpam-ldapd是两个独立的组件,都实现了 pam_ldap.so。ldapd 版本依赖于 nslcd(不是libnss-ldapd),无需启用 NSS 组件即可使用。我不记得 nslcd 是否对 有硬依赖libnss-ldapd,但即便如此,也只有在将“ldap”添加到 时才会引用它/etc/nsswitch.conf。您不必担心它会背着您以某种方式对 NSS 进行操作。

此时,您可能想知道有什么区别(以及为什么人们会费心添加依赖项),因此这里有一个免费赠品:

  • PADL 的 pam_ldap 模块 ( libpam-ldap) 并未得到积极开发。它不会带来任何新颖有趣的东西。
  • 缺少守护进程是有代价的:库无法共享连接或状态。每一个调用库时必须启动其自己的唯一 LDAP 连接并将其断开。libpam-ldapd(以及 sssd 的)主要优势在于后端守护进程可以处理实际的 LDAP 连接并保持与其可达性相关的运行状态。
  • libpam-ldapd至少一个情境特征sssd 或其他 PAM 模块中均不存在该功能。

守护进程的包含更像是一个症结所在,当你使用 NSS 模块,因为每个单独的程序在到达 LDAP 服务器时都必须独立地超时,这是不太理想的,这也是为什么我羡慕每一个年轻的 Linux 管理员,他们从来没有经历过这种艰难的学习过程。

所以,您可以避免 NSS 集成,并且可以根据您选择的模块避免使用 nslcd 守护程序。实施策略由您决定。

相关内容