更改OpenLDAP中的可分辨名称格式

更改OpenLDAP中的可分辨名称格式,ldap,alfresco,distinguishedname,Ldap,Alfresco,Distinguishedname,我有以下问题:我安装并打开了LDAP服务器,其中人员/用户树中的可分辨名称具有以下格式: Distinguished Name: cn=Luigi Rossi,ou=people,dc=prisma,dc=local 问题是我希望用uid(也称为帐户用户名)而不是CN来替换它,这样就有了类似的东西 Distinguished Name: uid=lrossi,ou=people,dc=prisma,dc=local 我需要这个,因为我正在为Alfresco Community 4.0.d配置

我有以下问题:我安装并打开了LDAP服务器,其中人员/用户树中的可分辨名称具有以下格式:

Distinguished Name: cn=Luigi Rossi,ou=people,dc=prisma,dc=local
问题是我希望用uid(也称为帐户用户名)而不是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

有任何帮助吗?

使用
修改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
!
ldapmodify-h主机-p端口-D绑定dn-w密码
另见
如何在phpLDAPadmin中对每个对象执行此操作(不全局更改格式):

  • 单击左侧层次结构中的对象以显示在右侧
  • 对象的标题显示为:cn=Luigi Rossi
  • 下面的副标题包含“专有名称:cn=Luigi Rossi,ou=people,dc=prisma,dc=local”
  • 现在点击下面4行的“重命名”链接
  • 将值“cn=Luigi Rossi”更改为“uid=lrossi”
  • 就这样

    • 这是一篇老文章,但我自己也遇到过。答案其实很简单。如果使用phpldapadmin创建帐户,则需要编辑posixAccount模板。查找
      标记。将cn替换为uid并保存。您的帐户现在将使用“uid=%s,dc=example,dc=com”格式的DN而不是“cn=%s,dc=example,dc=com”格式创建

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


      使用该工具,处理所有现有帐户并更改其DNs非常容易。

      感谢您的回复,但我对openldap命令行工具并不十分熟悉。我使用phpldapadmin创建了一个简单的用户和组树。你有一个例子吗?我没有找到一个用于响应的GooglingSnaks,我尝试了,但得到了ldap\u重命名:无效的DN语法(34)其他信息:无效的新RDN条目中必须存在
      uid
      属性。您可能需要首先使用ldapmodify添加它。似乎我已经有了uid属性,因为oid为0.9.2342.19200300.100.1.1的用户名属性现在存在,但始终是相同的错误。第一个ldapmodify正确地添加了一个uid,但我认为它已经存在了。我尝试使用第一个ldapmodify添加第二个uid,结果没有问题,但第二个uid也给了我同样的错误。你确定需要这样做吗?
      ldap.authentication.userNameFormat
      是否可在Alfresco中配置?如果是这样,只需将
      uid
      更改为
      cn
      。Alfresco导入的格式是可配置的(请参见
      ldap authentication.properties
      )-为什么不更改该格式以匹配现有结构?