我们正在使用带有Solaris和RHEL服务器的LDAP服务器,并计划将更多服务器迁移到RHEL。然而,我们对所有Red服务器上的LDAP有一个问题。
当我键入"getent passwd“时,将显示整个LDAP服务器上的所有用户,而不仅仅是访问此服务器的用户。通常大约有10到50人可以访问服务器,因此Solaris打印出这个用户列表,而Red平面打印出LDAP中存在的所有用户的列表(大约650)。
我更喜欢类似于Solaris的行为,其中只有具有访问服务器权限的用户才会列出"getent passwd“。
如何将RHEL配置为只列出访问服务器的用户?
发布于 2013-08-07 11:48:09
这是默认行为,RHEL使用PAM限制用户,nss试图解析给定ldap搜索库中所有可用的用户/组条目。
在有些情况下,系统有nfs挂载,其中包括无法访问机器的用户拥有的文件,如果所有用户对操作系统都是可见的,您仍然可以解析用户(访问受PAM限制,因此他们无法登录)。
您可以使用下列选项之一更改行为。
例如:
nsswitch.conf
passwd: files compat
passwd_compat: ldap
in passwd file, add +@netgroup.发布于 2013-08-01 13:00:47
如果它是一个选项,您可以按照以下步骤扩展ldap模式
来自http://www.secure-computing.net/wiki/index.php/OpenLDAP/Authentication
为了获得主机验证,我们将添加一个自定义模式,以允许posixAccount objectClass上的主机属性。您可以在这里下载新模式。要使用这个新模式,将scn.schema文件解压缩并保存到/usr/local/etc/openldap/schema中,并将以下一行添加到slapd.conf文件中:
然后添加nss_ldap.conf nss_base_passwd dc=base,dc=local?one?host=thismachinehost
语法是基范围?筛选器。
这是在freebsd上进行测试的,在freebsd中,getent passwd只列出与过滤器匹配的用户。
https://serverfault.com/questions/527006
复制相似问题