我们已经运行了openLDAP,但有点独特? 我不确定如何描述的情况。 试图find比我们所得到的更好的解决scheme。
tl; dr:如何允许:
没有在每个fooco和barco子文件夹中复制uid = sysadmin1:
dc=ourorg ou=fooco uid=oracle ou=barco uid=oracle ... ou=us uid=sysadmin1 uid=sysadmin2 ...
更多细节:我们为多个独立的子机构(例如FooCo和BarCo)提供服务(系统),但拥有自己的“全球账户”。 我们正在尝试运行一个LDAP(见下文)。 而且,例如,每个子组织都坚持认为他们的oracle数据库服务帐户(例如,运行数据库进程的login名)被称为“oracle”(我失去了那场战斗)。 所以显然我们不能使用相同的RDN,但是我们可以通过将帐户uid放在不同的子树中使用不同的DN(如上所述)。 但是,在针对基本dc(例如RHEL7和AIX)进行身份validation时,我们如何特别“帮助”由FooCo拥有的服务器使用FooCo子树,而BarCo使用Barco子树(再次使用RHEL7和AIX)? 简单的答案就是我们configuration一个FooCo服务器来使用ou = FooCo,dc = ourdc作为BASEDN。 但是,我们有其他用户(一个系统pipe理员团队)也需要能够login(理想情况下,使用LDAP)。 把系统pipe理员放在每个子树中都没有任何意义,他们应该有一个入口。
我们尝试了别名/ extensibleObject(一点点),即uid = aliassa1,ou = fooco – > uid = sysadmin1,ou = us,虽然它适用于ldapsearch,但它不适用于身份validation/login/ su /等等 (但是ldap.conf有“DEREF always”设置)。
那么,给出上述的解决scheme的任何想法? 一个创造性的方式来解决这个问题? 谢谢!!
什么是可能的依赖于特定的环境,我不能评论AIX。
例如,RHEL上的SSSD的更新版本支持多种search条件
ldap_search_base = ou=fooco,dc=ourorg?subtree?ou=us,dc=ourorg?subtree?
并且应该可以做类似于其他LDAP库的事情(例如,在Linux上使用pam_ldap时,设置与ou=foo和ou=us匹配的pam_filter )。
另一个select可能是限制login到特定的组(例如, ou=foo和ou=us所有用户ou=us属于cn=foologin,cn=groups,dc=ourcorp ,甚至可以通过某些LDAP服务器实现自动化(例如使用dynlist覆盖在OpenLDAP上)。