在检查特定的 AD/OpenLDAP 互操作案例时,我遇到了一个有趣的问题。在 OpenLDAP 服务器上,有一个用户 1,其 gidNumber 对应于组 1。还有另一个用户 2,其 gidNumber 对应于组 2。但是,组 1 仅列出用户 2 作为其成员,组 2 列出了他们两个。这怎么可能呢?
我预期 Linux 环境中的 gidNumber 的工作方式与 AD 中的 primaryGroupID 的工作方式类似 - 但在 AD 中,字段 memberOf 和 member 正确链接在一起,并且 primaryGroupID 被排除在此链接之外,但用户被理解为其主要组的成员。但是,对于 OpenLDAP,没有 memberOf 字段,并且似乎指定 gidNumber 并不能授予您组成员身份。那么将 user1 视为 group1 的成员是否不正确?是否有关于此情况下正确行为的文档?
我的具体问题是,在 AD 中,用户 1 不是组 1 的成员,也不应该是,但新的互操作拥有组逻辑使用 OpenLDAP 中的 gidNumber 将他映射到该组作为主要组,并覆盖 AD 上的 primaryGroupID(域用户)。如果我打算拒绝组 1 的用户访问并允许组 2 的用户访问,这会带来麻烦 - 用户 1 现在由于这种映射意外地失去访问权限,尽管我希望允许用户 1 访问,而只拒绝用户 2 访问。
很乐意对此进行纠正和建议。