人们在LDAP目录中使用inetOrgPerson对CN进行了什么操作

时间:2011-10-18 22:32:16

标签: ldap openldap schema-design

我一直在使用givenName+" "+surname用于CN领域,昨晚我醒来时尖叫着'John Smith'怎么样?我可以想象任何一个雇用多个同名人士的大型组织。所以当然这不会起作用。人们用什么来代替?

编辑注意:在inetOrgPerson中,CN是DN的一部分。

编辑注意:在这种情况下,我预计会增加到数十万个用户条目。

2 个答案:

答案 0 :(得分:12)

在LDAP目录中,无论是OpenLDAP还是Active-Directory,规则都是DistinguishName(DN)必须是唯一的,与用于构成相对区分名称(RDN)的属性(或属性)无关。 / p>

人们如何确保它是独一无二的

  1. 我想说,在小型企业中,在目录中创建条目的人保证它是唯一的,首先是知识,其次是初步搜索。如果重复出现,他会找到像John E Smith这样的解决方案。如果名称发生变化(婚姻,离婚等),则使用此解决方案,LDAP记录必须从一个DN“移动”到另一个DN。最好尽量避免更改条目的DN,但是在一个小目录中它并不重要。

  2. 启动中型企业的唯一性是大部分时间来自人力资源的员工ID。例如FR12345678。我看到,在大公司中,人们使用他们的员工ID登录。对于我在这里描述的事情,尽管uid使用cn属性来命名对象更为标准(但是有些目录不允许你选择命名属性,我认为它是一个 X500功能)。

  3. 在大多数目录(不在AD中)中,您可以使用多个属性来组成RDN。例如,sn=Assin+TelephoneNumber=1234是openLDAP中的有效RDN,它在PBX中是有意义的。 还有一件事

  4. 在某些目录(为系统管理而设计)中,服务器端的某些属性在整个树中都是唯一的。在Active-Directory中就是sAMAccountNameuserPrincipalName的情况,它们用于登录目的。使用具有“给定名称名称”的CN属性迫使管理员保证唯一性。您可以在slapd.conf的数据库定义中使用OpenLDAP中的唯一属性添加:

    # index since the unique overlay will search for matching mail attributes
    index mail eq
    
    overlay unique
    unique_attributes mail
    

    如果未编译唯一叠加层,则需要使用以下命令重新编译:

    ./configure ... --enable-unique
    

答案 1 :(得分:5)

根据我的一些经验添加JPBlanc的答案。我工作的地方有几个ldap服务器/树。我们的AD服务器使用DisplayName作为CN的值。在4K +用户中,我们只有几个重复发生的实例。我相信如果存在欺骗,那么默认操作是在值上加1。即使在该用户群的最大部分具有高转换率,这也是非常罕见的。我们有两个不同的电子目录树,它们相互链接,并使用用户名。用户名是第一个首字母+姓氏。任何重复的都附加了一个递增的数字。你可以想象布朗斯和史密斯以及其他常见名字会发生很多事情。另一个作为ADLDS(以前称为ADAM)目录的树使用唯一生成的数字作为CN的每个新条目。它基本上是一个由外部加载过程控制的自动递增数字。最后,我们有一个外部合作伙伴目录(想想独立代理商),它使用电子邮件地址+身份证号码作为CN的组合。

我在用户群上做了很多维护工作,我最不喜欢的方案是外部生成的数字。如果我在所有其他系统中得到关于Joe Brown的支持电话,我至少可以知道我需要浏览哪些内容才能找到他。当然一个简单的搜索过滤器会给我所有的Browns,但我仍然必须编写并执行它。所以我的建议是使用CN的某些部分名称,并以某种方式确保唯一性。从管理的角度来看,它会更容易一些。实际上CN非常重要,但你会更多地处理剩余的用户属性,所以不要太过分了。