LDAP - 涉及多个 uid=oracle 和其他用户的复杂配置

LDAP - 涉及多个 uid=oracle 和其他用户的复杂配置

我们已经运行了 openLDAP,但情况有些特殊?我不知道该如何描述。尝试找到比我们现有的更好的解决方案。

tl;dr:如何允许:

  • FooCo 系统允许uid=oracle,ou=foocouid=sysadmin1,ou=us登录
  • BarCo 系统允许uid=oracle,ou=巴可uid=sysadmin1,ou=us登录
  • 无需在每个 fooco 和 barco subou 中重复 uid=sysadmin1:

    dc=ourorg
      ou=fooco
         uid=oracle
      ou=barco
         uid=oracle
      ...
      ou=us
        uid=sysadmin1
        uid=sysadmin2
      ...
    

更多详细信息:我们为多个独立的子组织(本例中为 FooCo 和 BarCo)提供服务(系统),但拥有自己的“全局帐户”。我们试图运行单个 LDAP(见下文)。例如,每个子组织都坚持要求其 oracle db 服务帐户(例如运行 db 进程的登录名)称为“oracle”(我输掉了这场战斗)。因此,显然我们不能使用相同的 RDN,但我们可以通过将帐户 uid 放在不同的子树中(如上所述)来使用不同的 DN。但是,当针对基本 dc(例如 RHEL7 和 AIX)进行身份验证时,我们如何具体“帮助”FooCo 拥有的服务器使用 FooCo 子树,以及 BarCo 使用 Barco 子树(再次使用 RHEL7 和 AIX)?简单的答案是,即我们配置了一个 FooCo 服务器以使用 ou=FooCo,dc=ourdc 作为 BASEDN。但是,我们还有其他用户(系统管理员团队)也需要能够登录(理想情况下,使用 LDAP)。将系统管理员放在每个子树中也毫无意义 - 他们应该在某处有一个条目。

我们尝试了别名/可扩展对象(一点点),即 uid=aliassa1,ou=fooco -> uid=sysadmin1,ou=us,虽然它对于 ldapsearch 工作正常,但它对于身份验证/登录/su/等不起作用。(但 ldap.conf 已设置“DEREF always”)。

那么,针对上述情况,您有什么解决方案吗?有没有什么创造性的方法来解决这个问题?谢谢!

答案1

可能性取决于具体环境,我无法对 AIX 做出评论。

例如,较新版本的固态存储系统在 RHEL 上支持多个搜索基础

ldap_search_base = ou=fooco,dc=ourorg?subtree?ou=us,dc=ourorg?subtree?

并且应该可以对其他 LDAP 库执行类似操作(例如,在 Linux 上使用时设置与和pam_filter匹配的)。ou=fooou=uspam_ldap

另一个选择可能是将登录限制到特定组(例如,属于的所有用户)ou=fooou=us这甚至可以通过某些 LDAP 服务器(例如,使用OpenLDAP 上的覆盖)cn=foologin,cn=groups,dc=ourcorp自动实现。dynlist

相关内容