OpenLDAP ACL,以防止匿名用户获取所有组的列表

前端之家收集整理的这篇文章主要介绍了OpenLDAP ACL,以防止匿名用户获取所有组的列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试保护现有的OpenLDAP安装,如果它知道LDAP中特定用户条目的uid,则需要允许匿名用户检索有关记录的信息.假设结构如下:
dc=example,dc=com
  ou=People
    uid=user1
    uid=user2
  ou=Groups
    cn=user1
      memberUid:user1
    cn=user2
      memberUid:user2
    cn=common
      memberUid:user1
      memberUid:user2

现在,如果匿名者知道LDAP中存在条目uid = user1,则他们应该能够检索该用户所属的组列表.但是他们不应该发现其他群体.

因此ldapsearch -b“ou = Groups,dc = example,dc = com”应该不返回任何内容,而ldapsearch -b“ou = Groups,dc = com”“(&(objectClass = posixGroup)(memberUid = user1))“应返回user1所属的所有组.

到目前为止,我尝试了几种不同的ACL,但没有运气.它既可以搜索也可以列出所有组,或者不能列出所有组,但搜索不起作用.

有没有办法使用ACL实现所需的行为?

PS:数据库使用标准的nis模式,因为数据库已经将数据更改为rfc2307bis不是一个选项(并且还有其他原因导致在这种情况下无法进行此类更改).

我不认为这是可能的,因为你不能限制哪些组可以读取.但是,OpenLDAP提供了一种可能对您有所帮助的替代方法.这称为“反向组维护”(参见章节12.8 in the (outdated) docs),其中包含memberOf覆盖.基本上,它维护用户所属的每个组的列表,这允许容易地查找此类信息.

有关如何以现代方式执行此操作,使用cn = config,请查看here.

原文链接:https://www.f2er.com/bash/385250.html

猜你在找的Bash相关文章