Link 人员到 LDAP DIT 树中的组织单位

Link people to organizational Units in a LDAP DIT tree

我正在构建一个 LDAP 只是为了了解它。我刚开始使用 LDAP。

我在一个名为 "people" 的个人组中代表了公司内部的人员。
现在我想把 (link) 这个人放在不同的 ous 中,例如 Mike 属于能源部门,成员 board_directors 和前辈。
苏属于水务部门,board_directors
的成员 和 Peter属于水务部门,大会组成员,前辈。

这可能吗?,我怎么能link这个分支下的人ou=people到另一个ous?

我有一个像这样的 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==

好吧,你几乎回答了你自己的问题。您的用户位于一个名为 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 对象类将人们分组在一起。

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

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

-吉姆