![OpenLDAP 子集的参数化复制](https://linux22.com/image/1432143/OpenLDAP%20%E5%AD%90%E9%9B%86%E7%9A%84%E5%8F%82%E6%95%B0%E5%8C%96%E5%A4%8D%E5%88%B6.png)
我有一个巨大的 LDAP 数据库,我想制作一个仅包含该数据库子集的副本。我的目标是复制几个组以及该组内的所有成员。
到目前为止,我通过复制所有组并在副本过滤器上手动输入用户名来解决这个问题。然而,这并不理想,因为一旦我将新用户添加到组,我就必须手动编辑副本过滤器以包含该用户,如下所示:
添加用户之前,在副本服务器上:
filter="(|(objectClass=posixGroup)(uid=user1)(uid=user2))"
添加用户后,在副本服务器上:
filter="(|(objectClass=posixGroup)(uid=user1)(uid=user2)(uid=NEWuser))"
是否有内置方法可以完成此任务,即复制一个组及其所有成员?
否则,有没有办法使用“查询中的查询”(也可以称为嵌套查询),其中我将查询结果用作新查询的输入?这样,我就可以查询谁是群组成员,并选择“memberOf”结果作为过滤器的参数。不过,这确实看起来很复杂。
答案1
是否有内置方法可以完成此任务,即复制一个组及其所有成员?
没有。但是,正如你似乎在谈论的具体的组,如果启用了“memberof”覆盖,则可以每个组使用两个过滤器:
(|(gid=somegroup)(memberOf=somegroup)(gid=othergroup)(memberOf=othergroup))