ldapmodify 引发属性类型:值 #0 每个语法错误无效

ldapmodify raises attributetypes: value #0 invalid per syntax error

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

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

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

对应的ldif文件内容如下:

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 但它没有帮助。任何帮助都会很好:-)

提前致谢, 弗洛

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

The provided value "( 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 )"could not be parsed as a valid attribute type description because it contains an illegal token "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 )

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

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")