将人员链接到LDAP DIT树中的组织单位

时间:2015-01-07 20:48:21

标签: unix ldap openldap

我正在构建一个LDAP,只是为了了解它。我是新的LDAP工作。

我在一个名为" people"。的个人组中代表公司内部的人员 现在我想把这些人放在(链接)不同的ous中,例如 迈克是一个能源部门,董事会成员和老年人 Sue属于水行业,董事会成员 和 彼得属于水利部门,集会组织和老年人。

有可能吗?我怎样才能将这个人在分支ou = people下链接到另一个人?

我有这样的LDAP DIT树:

dn: dc=company,dc=xd,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: xd
dc: company

dn: ou=people,dc=company,dc=xd,dc=com
ou: people
objectClass: organizationalUnit
description: people working in my company


dn: ou=areas,dc=company,dc=xd,dc=com
ou: areas
objectClass: organizationalUnit
description: distinct zones in my company


dn: ou=sectors,dc=company,dc=xd,dc=com
ou: sectors
objectClass: organizationalUnit
description: distinct sectors


dn: ou=water,ou=sectores,dc=company,dc=xd,dc=com
ou: water
objectClass: organizationalUnit
description: reference to water sector


dn: ou=energy,ou=sectores,dc=company,dc=xd,dc=com
ou: energy
objectClass: organizationalUnit
description: reference to energy sector


dn: ou=orga,dc=company,dc=xd,dc=com
ou: orga
objectClass: organizationalUnit
description: distintos organismos da organizacion


dn: ou=board_directors,ou=orga,dc=company,dc=xd,dc=com
ou: board_directors
objectClass: organizationalUnit
description: The company board of directors


dn: ou=assembly,ou=orga,dc=company,dc=xd,dc=com
ou: assembly
objectClass: organizationalUnit
description: weekly assembly organizators


dn: ou=seniors,ou=orga,dc=company,dc=xd,dc=com
ou: seniors
objectClass: organizationalUnit
description: main company seniors


dn: ou=it,dc=company,dc=xd,dc=com
ou: it
objectClass: organizationalUnit
description: it resources


dn: ou=data,ou=it,dc=company,dc=xd,dc=com
ou: data
objectClass: organizationalUnit
description: data


dn: ou=apps,ou=it,dc=company,dc=xd,dc=com
ou: apps
objectClass: organizationalUnit
description: applications


dn: ou=machines,ou=it,dc=company,dc=xd,dc=com
ou: machines
objectClass: organizationalUnit
description: something mechanic


dn: uid=Sue,ou=people,dc=company,dc=xd,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
description: User posix Sue
sn: Reyes
givenName: Sue
cn: Sue Reyes
displayName: Sue Reyes
homeDirectory: /home/Sue
uid: Sue
uidNumber: 1003
gidNumber: 1003
userPassword:: MTIzNA==


dn: uid=peter,ou=people,dc=company,dc=xd,dc=com
uid: peter
objectClass: inetOrgPerson
objectClass: posixAccount
description: user posix peter
sn: Griffin
givenName: Peter
cn: peter griffin
displayName: Peter Griffin
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/peter
userPassword:: MTIzNA==

dn: uid=mike,ou=people,dc=company,dc=xd,dc=com
uid: mike
objectClass: inetOrgPerson
objectClass: posixAccount
description: user posix Mike
sn: Larson
givenName: Mike
cn: Mike Larson
displayName: Mike Larson
uidNumber: 1002
gidNumber: 1002
homeDirectory: /home/Mike
userPassword:: MTIzNA==

2 个答案:

答案 0 :(得分:1)

嗯,你几乎回答了自己的问题。您的用户位于名为people的容器中。你想把它们放在不同的组中。您可以为这些事物创建组。而不是为所有不同的组织单位(即board_directors,它等)创建容器。

dn: ou=groups,dc=company,dc=xd,dc=com
ou: groups
objectClass: organizationalUnit

dn: cn=board_directors,ou=groups,dc=company,dc=xd,dc=com
objectclass: top
objectClass: groupOfUniquenames
uniqueMember: uid=Sue,ou=people,dc=company,dc=xd,dc=com
uniqueMember: uid=Mike,ou=people,dc=company,dc=xd,dc=com

dn: cn=it,ou=groups,dc=company,dc=xd,dc=com
objectclass: top
objectClass: groupOfUniquenames
uniqueMember: uid=Peter,ou=people,dc=company,dc=xd,dc=com

可能并非所有组织单位都整齐地分组。

也许可能有必要在组织下组织小组。

dn: ou=groups,ou=orga,dc=company,dc=xd,dc=com
ou: groups
objectClass: organizationalUnit

dn: cn=board_directors,ou=groups,ou=orga,dc=company,dc=xd,dc=com
objectclass: top
objectClass: groupOfUniquenames
uniqueMember: uid=Mike,ou=people,dc=company,dc=xd,dc=com

dn: cn=board_directors,ou=groups,ou=orgb,dc=company,dc=xd,dc=com
objectclass: top
objectClass: groupOfUniquenames
uniqueMember: uid=Sue,ou=people,dc=company,dc=xd,dc=com

这些只是示例,但我倾向于使用groupOfUniqueNames对象类将人们组合在一起。

答案 1 :(得分:0)

您需要定义LDAP实例的用法。 如果这用于身份验证和作为属性存储库,那么您应该保留所有"人员"一个容器中的条目并管理每个"属性"确定类型,部门,位置等。

然后,如果需要,根据属性值将用户分组。

-Jim