使用LDAP中的其他属性管理POSIX组成员资格的最佳实践

时间:2014-01-21 11:58:52

标签: linux ldap openldap samba

我们正在使用与Debian一起分发的OpenLDAP 2.3.31为LDAP中的学习关联设计新的成员管理。其中一个要求是我们需要记录哪些成员在委员会中。为此,我们创建了organizationalUnit的子类,名为x-FMFCommittee,organizationRole的子类为x-FMFCommitteeRole。现在,与委员会相关的所有角色(如总裁,财务主管等)都位于委员会条目的子树中。然后,将承担此角色的成员的DN设置为x-FMFCommitteeRole上的roleOccupant属性。这完全没问题。

但是,我们还允许用户访问Linux shell和Windows桌面(使用Samba),为此我们还要管理POSIX组成员资格。为此,我们想要为此做的每个委员会,也有对象类posixGroup(根据RFC2307)。为了获得与用户相关联的组成员和组,只要成员在委员会中担任角色,我们就需要在委员会条目上设置memberUid属性。

我们尝试使用dynlist覆盖进行此操作,但在执行反向组查找时失败。我们现在看到的唯一选择是手动执行此操作,但我们真的希望自动执行此操作,以便将来提供更轻松的维护,因为管理员往往会在我们的协会中进行更改。

之前是否有人遇到类似的情况,或者有人知道这个问题的解决方案吗?

1 个答案:

答案 0 :(得分:1)

我建议你简单地摆脱第一个实现,只使用posixGroup。无论采用何种形式,数据库非规范化总是一个坏主意。

并且您不需要为此问题扩展架构。如果你想区分这些委员会,只需将它们放在自己的子树中即可。

但是我想了解为什么使用动态列表不起作用的更多细节。您可以使用memberOf overlay而不必进行反向查找。