You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenLDAP 2.5中ldapmodify单次添加多属性失败求助

OpenLDAP 2.5中ldapmodify单次添加多属性失败的原因及解决方法

问题场景

参考2007年出版的《Mastering OpenLDAP》(对应OpenLDAP 2.3版本)中的方法,尝试用ldapmodify一次为条目添加两个属性,使用的LDIF内容如下:

dn: uid=nicholas,ou=Users,dc=example,dc=com
changetype: modify
add: description title
description: This is a test
title: Cartesian philosopher

但在OpenLDAP 2.5(Ubuntu 22.04)环境执行时出现报错:

thierry@thierry-VirtualBox:~$ ldapmodify -x -w secret -D 'cn=Manager,dc=example,dc=com'
dn: uid=nicholas,ou=Users,dc=example,dc=com
changetype: modify
add: description title
description: This is a test
title: Cartesian philosopher

ldapmodify: wrong attributeType at line 4, entry "uid=nicholas,ou=Users,dc=example,dc=com"

而分两次单独添加属性则可以正常执行,执行ldapsearch也能确认两个属性已成功添加。

原因分析

  • OpenLDAP 2.3版本的ldapmodify工具对LDIF格式的校验较为宽松,允许在add:行中同时列出多个属性名,以此实现一次性添加多属性的非标准写法。
  • 从后续版本(包括2.5)开始,ldapmodify严格遵循LDIF(LDAP Data Interchange Format)标准规范,该标准明确要求每个add:操作只能针对单个属性。这种非标准写法不再被支持,因此会触发属性类型错误。

正确的单次添加多属性写法

如果要在单次ldapmodify操作中添加多个属性,需要将每个属性的添加操作拆分为独立的add:块,块之间用空行分隔,正确的LDIF格式如下:

dn: uid=nicholas,ou=Users,dc=example,dc=com
changetype: modify
add: description
description: This is a test

add: title
title: Cartesian philosopher

使用上述LDIF内容执行ldapmodify命令,即可一次性完成两个属性的添加操作,无需分两次执行。

内容的提问来源于stack exchange,提问作者Denebe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 09:15:40