【问题标题】:ldapmodify raises attributetypes: value #0 invalid per syntax errorldapmodify 引发属性类型:值 #0 每个语法错误无效
【发布时间】:2016-07-04 15:11:07
【问题描述】:

我目前正在为 Openldap 版本 2.4.14 实现 pwdCheckModule 库(无法更改版本)。在此期间,我想从 LDAP 数据库中读取一些属性。这些属性之一称为 pcpMinNumberLowerUpper 并保存最小数量的小写和/或大写字符。该属性应该是已经存在的名为 pwdPolicy 的 objectClass 的一部分,它位于 cn:schema 下,它已经具有一些其他属性,例如 pwdMaxAge 等。

我想使用 ldapmodify 终端命令将属性添加到现有的 LDAP 数据库。我刚刚使用的命令如下所示:

ldapmodify -h localhost -p 389 -D "cn=Administrator,dc=<mydc>,dc=<mydc>..." -w "<mysecret>" -x -f pcp_attribute_upgrade.ldif

对应的ldif-file有如下内容:

dn: cn=schema 
changetype: modify
add: attributetypes
attributetypes: ( 1.3.6.1.4.1.42.2.27.8.1.18 NAME 'pcpMinNumberLowerUpper' DESC 'Minimum of upper or lower characters' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUED USAGE userApplications )

现在,如果我执行上面的命令,它会在终端输出中显示以下错误消息:

ldap_start_tls: Protocol error (2)
        additional info: unsupported extended operation
modifying entry "cn=schema"
ldap_modify: Invalid syntax (21)
        additional info: attributetypes: value #0 invalid per syntax

我已经尝试使用 olcAttributeTypes 而不是 attributeTypes 但它没有帮助。任何帮助都会很好:-)

提前致谢, 弗洛尔

【问题讨论】:

    标签: ldap openldap


    【解决方案1】:

    使用默认的 OpenLdap 配置,对于架构修改,通常您必须使用本地 ldap 服务器 root 帐户的外部身份验证:

    sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f  pcp.ldif
    

    而 pcp.ldif 应该是:

    dn: cn=schema,cn=config
    changetype: modify
    add: olcAttributetypes 
    olcAttributetypes: ( 1.3.6.1.4.1.42.2.27.8.1.18 NAME 'pcpMinNumberLowerUpper' DESC 'Minimum of upper or lower characters' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE USAGE userApplications )
    

    (更改 dn,“attributeTypes”替换为“olcAttributetypes”,“SINGLE-VALUED”替换为“SINGLE-VALUE”)

    【讨论】:

      【解决方案2】:

      单值属性的关键字是 SINGLE-VALUE,正如尝试将架构定义添加到 OpenDJ LDAP 目录服务器时报告的那样:

      提供的值 "( 1.3.6.1.4.1.42.2.27.8.1.18 NAME 'pcpMinNumberLowerUpper' DESC '上下字符的最小值' 语法 1.3.6.1.4.1.1466.115.121.1.27 单值用法 userApplications )"不能被解析为有效的属性类型 描述,因为它包含非法令牌“SINGLE-VALUED”

      如下更改它,它会工作。

      dn: cn=schema 
      changetype: modify
      add: attributetypes
      attributetypes: ( 1.3.6.1.4.1.42.2.27.8.1.18 NAME 'pcpMinNumberLowerUpper' DESC 'Minimum of upper or lower characters' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE USAGE userApplications )
      

      【讨论】:

        猜你喜欢
        • 2019-09-17
        • 1970-01-01
        • 2019-05-27
        • 2021-10-01
        • 1970-01-01
        • 2019-06-26
        • 2020-03-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多