我们正在将LDAP服务器与Solaris和RHEL服务器一起使用,并计划将更多服务器迁移到RHEL.但是,我们在所有Red Hat服务器上都存在LDAP问题.
当我键入“getent passwd”时,将显示整个LDAP服务器上的所有用户,而不是仅显示有权访问此服务器的用户.通常大约有10到50人可以访问服务器,因此Solaris打印出这个用户列表,而Red Hat flat out打印出LDAP中存在的所有用户的列表(大约650).
我更喜欢Solaris上的行为,其中只有具有访问服务器权限的用户才会列出“getent passwd”.
如何配置RHEL以仅列出有权访问服务器的用户?
解决方法
您在/etc/security/access.conf中限制访问权限,虽然它控制谁可以访问服务器,但对用户对服务器可见的内容没有影响.这通常是你想要的:即使用户alice无法登录服务器,如果她拥有共享文件系统上的文件,我想看到:
$ls -l ~alice -rw-rw-r--. 1 alice alice 0 Aug 1 09:09 afile
代替:
$ls -l ~alice -rw-rw-r--. 1 5234 5234 0 Aug 1 09:09 afile
如果要限制系统可见的用户集,则需要配置NSS子系统以实现某种LDAP过滤器.你如何做到这取决于你正在使用什么工具:
> user993553提到nss_ldap,这是与LDAP集成的传统工具.
>一些较新的发行版使用SSSD,其中包括LDAP模块中的ldap_service_search_base参数,
> nslcd程序具有可应用于每个地图的过滤器选项
您使用哪种机制取决于您正在运行的RHEL版本:RHEL 6同时具有nslcd和sssd(我使用的是nslcd),而我认为早期版本仅限于nss_ldap.