在OpenLDAP中更改专有名称格式

时间:2012-05-16 15:03:04

标签: ldap alfresco distinguishedname

我遇到以下问题:我已安装和OpenLDAP服务器,其中在人员/用户树中,可分辨名称具有以下格式:

Distinguished Name: cn=Luigi Rossi,ou=people,dc=prisma,dc=local

问题是我希望使用uid(a.k.a。帐户用户名)而不是CN来替换它,以便有类似的东西

Distinguished Name: uid=lrossi,ou=people,dc=prisma,dc=local

我需要这个,因为我正在为Alfresco Community 4.0.d配置ldap身份验证,它需要用户名

ldap.authentication.userNameFormat=uid=%s,ou=people,dc=prisma,dc=local

任何帮助?

4 个答案:

答案 0 :(得分:6)

这是一个老帖子,但我自己也遇到了这个问题。答案其实非常简单。如果您使用phpldapadmin创建帐户,则需要编辑posixAccount模板。查找<rdn></rdn>标记。用uid替换cn并保存。现在,您的帐户将使用&#34; uid =%s,dc = example,dc = com&#34;中的DN创建。形成而不是&#34; cn =%s,dc = example,dc = com&#34;

http://phpldapadmin.sourceforge.net/wiki/index.php/Templates#Template_Header_Configuration

答案 1 :(得分:4)

使用modify DN LDAP请求(在本例中使用旧版OpenLDAP ldapmodify工具):

可能需要添加uid属性:

ldapmodify -h host -p port -D bind-dn -w password <<!
dn: cn=Luigi Rossi,ou=people,dc=prisma,dc=local
changetype: modify
add: uid
uid: lrossi
!

ldapmodify -h host -p port -D bind-dn -w password <<!
dn: cn=Luigi Rossi,ou=people,dc=prisma,dc=local
changetype: moddn
newrdn: uid=lrossi,ou=people,dc=prisma,dc=local
deleteoldrdn: 1
!

另见

答案 2 :(得分:0)

如何在phpLDAPadmin:

中按对象(不全局更改格式)执行此操作
  • 点击左侧层次结构中的对象以显示在右侧
  • 对象的标题显示为:cn = Luigi Rossi
  • 下面的副标题包含&#34;杰出名称:cn = Luigi Rossi,ou = people,dc = prisma,dc = local&#34;
  • 现在点击&#34;重命名&#34;链接只有4行
  • 改变价值&#34; cn = Luigi Rossi&#34;到&#34; uid = lrossi&#34;
  • 那就是它。

答案 3 :(得分:0)

值得一提的是ldapmodrdn工具,例如在Debian中是ldap-utils包的一部分。它可以读取一个简单的文件,其中第一行是旧CN作为DN,第二行是新CN作为RDN。如果有许多用户需要更改,则它们可以全部包含在同一个文件中,用空行分隔。

使用该工具可以很容易地处理所有现有帐户并更改其DN。