在我的服务器上,我的系统用户已使用 Chef 进行配置,并且不想让任何其他用户接触这些机器。不过,我希望将其用作仪表板pam
的身份验证后端monit
。
我需要设置libnss-ldapd
才能工作吗?还是我的想法错了。如果我不使用,pam_ldap
设置真的很重要吗?nss
/etc/pam.d/common-*
pam_ldap
答案1
这取决于pam_ldap
我们谈论的是哪种风格。您没有提到操作系统,但据libnss-ldapd
我所知,我们谈论的是某种 Debian 风格。
libpam-ldap
和libpam-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 守护程序。实施策略由您决定。