ldap 组和 linux 组之间的关系在哪里定义?

ldap 组和 linux 组之间的关系在哪里定义?

对于给定的 ldap 组,如何确定为其选择了哪些 linux 组?这种关系在某处定义吗?

例如,如果我在 ldap 组“admin”中,而在 linux 中,我看到我在组“admin_users”中,那么“admin”和“admin_users”之间的关系在哪里定义?

答案1

在 Linux 上,有两个主要组件负责处理用户帐户:libc切换器框架查找信息,而 PAM 执行身份验证。换句话说,nsswitch LDAP 模块负责从 LDAP 获取这些信息并将其呈现给系统。

通常,objectClass: posixGroup条目直接转换为相应的操作系统组,但如果进行了任何转换,那么它们也将由 nsswitch 模块完成。

有几种不同的 LDAP 客户端可供使用 –ssd 的使用 libnss_sss,韓國使用 libnss_ldap、Active Directory 特定的 Samba 使用 libnss_winbind,以及过时的独立 PADL libnss_ldap。它们的配置和功能有所不同。

例如,韓國可以配置为破坏任何属性(map group cn ${cn}_users),而ssd 的仅具有一些预定义的翻译(例如用点替换空格)。请查看其相应的手册页 – nslcd.confsssd.confsssd-ldap

话虽如此,我实际上对它们是同一个组有些怀疑。可能是你正在查看两个不同的 LDAP 条目——有几种“LDAP 组”,其中一些映射到操作系统组,而另一些则不映射到操作系统组。例如,可能有一个posixGroup用于 Linux 的条目和一个groupOfNames用于 LDAP 自身目的的条目。

答案2

通常,您需要检查操作系统中的 LDAP 集成配置。其中定义了组过滤器和映射。

相关内容