我们在 Solaris 和 RHEL 服务器上使用 LDAP 服务器,并计划将更多服务器迁移到 RHEL。但是,所有 Red Hat 服务器上的 LDAP 都存在问题。当我们输入“getent passwd”时,会显示整个 LDAP 服务器上的所有用户,而不仅仅是可以访问此服务器的用户。通常大约有 10 到 50 人可以访问服务器,因此 Solaris 会打印出此用户列表,而 Red Hat 会直接打印出 LDAP 中存在的所有用户列表(大约 650 个)。
我们在 RHEL 6.2 上使用 nscd/nslcd。迁移到 sssd 不是短期的解决方案,尽管我们正在考虑在将来这样做。
我发现可以通过使用 compat 作为 /etc/nsswitch.conf 的源来更改这一点,它会进行枚举,因此您只能看到在 /etc/passwd 中有权访问 +netgroup 的用户。
- Red Hat Linux 服务器上的正常行为是什么?
- 用户能够看到所有其他用户是否存在安全风险?
- 您是否建议使用 /etc/nsswitch.conf 中的 compat 作为解决方案?
答案1
nsswitch 是正确的,不要更改它!它没有任何过滤功能,因此如果它输出 ldap 用户,则其设置正确。
问题在于 /etc/ldap.conf 中的 ldap 过滤器。在 solaris 上,会过滤用户并仅允许符合过滤器的用户,而在 RHEL 上,您可能不使用任何过滤器,因此允许所有用户。
检查 pam_filter 选项。你可以使用这个 ldap.conf例如作为基础如果你的太空