首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么所有LDAP用户都显示了getent passwd?

为什么所有LDAP用户都显示了getent passwd?
EN

Server Fault用户
提问于 2013-07-29 12:12:42
回答 2查看 21.9K关注 0票数 6

我们正在使用带有Solaris和RHEL服务器的LDAP服务器,并计划将更多服务器迁移到RHEL。然而,我们对所有Red服务器上的LDAP有一个问题。

当我键入"getent passwd“时,将显示整个LDAP服务器上的所有用户,而不仅仅是访问此服务器的用户。通常大约有10到50人可以访问服务器,因此Solaris打印出这个用户列表,而Red平面打印出LDAP中存在的所有用户的列表(大约650)。

我更喜欢类似于Solaris的行为,其中只有具有访问服务器权限的用户才会列出"getent passwd“。

如何将RHEL配置为只列出访问服务器的用户?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2013-08-07 11:48:09

这是默认行为,RHEL使用PAM限制用户,nss试图解析给定ldap搜索库中所有可用的用户/组条目。

在有些情况下,系统有nfs挂载,其中包括无法访问机器的用户拥有的文件,如果所有用户对操作系统都是可见的,您仍然可以解析用户(访问受PAM限制,因此他们无法登录)。

您可以使用下列选项之一更改行为。

  1. 使用SSSD,默认情况下它不会枚举用户/组。(例如: getent passwd将只列出本地用户)。
  2. 使用ldap过滤器,这样机器就只能看到所需的用户。这是可能的,只有当有一个特定的过滤器,可以用来过滤用户(例如:使用一个成员的属性在一个组)。
  3. 使用compat模式过滤用户。

例如:

代码语言:javascript
复制
nsswitch.conf 
passwd: files compat
passwd_compat: ldap

in passwd file, add +@netgroup.
票数 2
EN

Server Fault用户

发布于 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只列出与过滤器匹配的用户。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/527006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档