2012-07-11 99 views
1

我试图建立RhodeCode以及其他服务,LDAP(OpenLDAP的v3)和一切工作的罚款去除了一两件事,我的结构是这样的:LDAP和组过滤器

dc=domain,dc=com 
ou=Groups | ou=People 
hgusers | test1 
sshusers | test2 
others 

这些都是通过ldapsearch的例子

dn: cn=sshusers,ou=Group,dc=domain,dc=com 
objectClass: top 
objectClass: posixGroup 
cn: sshusers 
userPassword:: e2NyeXB0fXg= 
gidNumber: 14567 
memberUid: test1 


dn: uid=test1,ou=People,dc=domain,dc=com 
uid: test1 
cn: Test User 
objectClass: account 
objectClass: posixAccount 
objectClass: top 
objectClass: shadowAccount 
shadowLastChange: 15472 
shadowMax: 99999 
shadowWarning: 7 
loginShell: /bin/sh 
uidNumber: 10099 
gidNumber: 10099 
homeDirectory: /home/test1 
gecos: test 
userPassword:: e1NTSEF9WDUvSWpYeU9YQjlESGxYdy9ETWFTRFhaejFVN3VLSm8= 

现在我试图创造RhodeCode和其他的东西过滤器,所以它仅允许从hgusers一群人访问,但我不知道如何去创造。什么让我担心,没有会员的属性可以使用,也不知道如何添加它。有人能帮我解决这个问题吗?

回答

1

我会使用organizationalRole或groupOfUniqueNames作为组类,并分别将roleOccupant或uniqueMember设置为组中用户的DN。然后,您只需在该属性中搜索具有用户DN的组的子树。 UID也可以工作,但如果您使用DN值属性和“重新设定”覆盖层,则您可以解决参照完整性问题,这是您确实必须的。

0

以其他方式进行操作。不要尝试将组分配给用户,而是创建一组用户列表。

如果使用一系列uniqueMember属性创建groupOfUniqueNames,每个属性都是您的一个用户的DN,那么当您转储属性(如果您的用户)时不会看到该属性。

但是一个简单的搜索: “uniqueMember = DN-用户的-” 会给你每一个具有用户作为组成员