【问题标题】:change distinguished name format in OpenLDAP更改 OpenLDAP 中的专有名称格式
【发布时间】:2012-05-16 15:03:04
【问题描述】:

我有以下问题:我已经安装了 OpenLDAP 服务器,其中人员/用户树中的专有名称具有以下格式:

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

有什么帮助吗?

【问题讨论】:

  • 您确定需要这样做吗? ldap.authentication.userNameFormat 可以在 Alfresco 中配置吗?如果是这样,只需将uid 更改为cn
  • Alfresco 导入的格式是可配置的(请参阅ldap-authentication.properties) - 为什么不更改它以匹配您现有的结构?

标签: ldap alfresco distinguishedname


【解决方案1】:

这是一个旧帖子,但我自己遇到了这个。答案其实很简单。如果您使用 phpldapadmin 创建帐户,则需要编辑 posixAccount 模板。查找<rdn></rdn> 标签。用uid替换cn并保存。您的帐户现在将使用“uid=%s,dc=example,dc=com”形式的 DN 而不是“cn=%s,dc=example,dc=com”来创建

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

【讨论】:

    【解决方案2】:

    使用 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
    !
    

    另见

    【讨论】:

    • 感谢您的回复,但我对 openldap 命令行工具不是很熟悉。我使用 phpldapadmin 创建了一个简单的用户和组树。你有一个例子吗?我没有找到一个谷歌搜索
    • 感谢响应,我试过但我得到 ldap_rename: Invalid DN syntax (34) 附加信息: invalid new RDN
    • uid 属性必须存在于条目中。您可能需要先使用 ldapmodify 添加它。
    • 看来我已经有了 uid 属性,因为存在 oid 0.9.2342.19200300.100.1.1 的 User Name 属性
    • 现在总是同样的错误。第一个 ldapmodify 正确添加了一个 uid,但我认为它已经存在。我尝试使用第一个 ldapmodify 添加第二个 uid 并且没问题,但是第二个也给了我同样的错误。
    【解决方案3】:

    如何在 phpLDAPadmin 中为每个对象执行此操作(不更改全局格式):

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        猜你喜欢
        • 2012-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-07
        • 1970-01-01
        • 2021-11-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多