是否可以让 OpenLDAP 为不同的用户提供不同的基本 DN?
让我解释一下我到底想要实现什么。
我有一个域名(假设为dc=example,dc=org
)。
我还有一个 phpLDAPadmin 实例,其目的是帮助我管理这个域。
我在这个域中的某个地方也有一个分支(比方说ou=foo,ou=bar,dc=baz,dc=example,dc=org
)。
我还有一个用户(比方说,uid=admin,ou=bar,dc=baz,dc=example,dc=org
)。
我授予该用户一些权限,让他们管理我之前提到的分支(olcAccess: to dn.subtree="ou=foo,ou=bar,dc=baz,dc=example,dc=org" by dn.exact="uid=admin,ou=bar,dc=baz,dc=example,dc=org" manage
)。
问题是该用户无法使用 phpLDAPadmin,因为 OpenLDAP 服务器会传播其基本 DN(namingContext: dc=example,dc=org
我猜是通过宣布属性),而用户无权访问该 DN。因此,phpLDAPadmin 尝试向用户显示 的内容dc=example,dc=org
,但失败了,并提示“无法使用 PLA 创建此基础”。
如何让 phpLDAPadmin 显示ou=foo,ou=bar,dc=baz,dc=example,dc=org
为该用户的基本 DN,而不是尝试向他们显示dc=example,dc=org
根本无法访问的 DN?
有没有办法让 OpenLDAP向用户发出不同的namingContext
( ) 公告?ou=foo,ou=bar,dc=baz,dc=example,dc=org
或者我应该忘记这个想法并授予用户对最顶部每个叶子的只读访问权限(dc=example,dc=org
,,)?dc=baz,dc=example,dc=org
ou=bar,dc=baz,dc=example,dc=org
谢谢。
答案1
免责声明:我没有使用过 phpLDAPadmin 的个人经验。
我建议修改 ACL,使中间条目对用户可见。至少授予伪属性的读取权限入口. 您可能应该以某种最后的 ACL 来执行此操作。