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")
我目前正在为 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")