我遇到以下问题:我已安装和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
任何帮助?
答案 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:
中按对象(不全局更改格式)执行此操作答案 3 :(得分:0)
值得一提的是ldapmodrdn工具,例如在Debian中是ldap-utils包的一部分。它可以读取一个简单的文件,其中第一行是旧CN作为DN,第二行是新CN作为RDN。如果有许多用户需要更改,则它们可以全部包含在同一个文件中,用空行分隔。
使用该工具可以很容易地处理所有现有帐户并更改其DN。