【发布时间】:2011-01-05 17:48:10
【问题描述】:
我将 LDAP 作为一种可能的工具来管理工作中的访问服务器和源代码,虽然我已经能够掌握基本概念,例如将用户和机器表示为实体、创建属性和定义哪些属性应该基于应用于它们的 objectClasses 应用于实体,有一些错误对我来说仍然没有意义,我希望有人能帮助解释它们是如何工作的。
嵌套组如何工作?
我可以理解ou(组织单位)是什么,我可以理解将人员放入其中,并使用 groupOfNames 类作为成员的容器,例如来自zytrax 的 LDIF sn-p :
# create FIRST Level groups branch
dn: ou=groups,dc=example,dc=com
objectclass:organizationalunit
ou: groups
description: generic groups branch
# create the itpeople entry under groups
dn: cn=itpeople,ou=groups,dc=example,dc=com
objectclass: groupofnames
cn: itpeople
description: IT security group
member: cn=William Smith,ou=people,dc=example,dc=com
# create the hrpeople entry under groups
dn: cn=hrpeople,ou=groups,dc=example,dc=com
objectclass: groupofnames
cn: hrpeople
description: Human Resources group
member: cn=Robert Smith,ou=people,dc=example,dc=com
我将如何添加更多级别的嵌套?
我所追求的是类似于这里的伪代码:
ou='Projects' /
description: This top level group has a few people in it that can create new groups, and control who's in them
member: cn=Robert Smith,ou=people,dc=example,dc=com
-- somethingsomethingAbitrarilyNestedGroup='project-name'
member: cn=Robert Smith,ou=people,dc=example,dc=com
-- groupOfNames = 'project-name development'
member: cn=Robert Smith,ou=people,dc=example,dc=com
member: cn=Jane Doe,ou=people,dc=example,dc=com
member: cn=server1$,ou=servers,dc=example,dc=com
-- groupOfNames = 'project-name staging'
member: cn=Jane Doe,ou=people,dc=example,dc=com
member: cn=server2$,ou=servers,dc=example,dc=com
鉴于这种层次结构,现在授予该组访问权限的最佳方式是什么?
我没有看到在这里进行任意组嵌套的简单方法 - 在可用的普通类中,不使用昂贵的闭源工具,但感觉不应该这么复杂。
这通常如何使用 OpenLDAP 之类的工具来完成,以便在其他 ldap 客户端通过身份验证为具有正确权限的用户后控制组成员身份? ?
【问题讨论】:
标签: ldap nested-groups