我有一个LDIF文件,它有一个多值的Base64编码属性,我想用非Base64编码的语法转换它。怎么办呢?
上下文
LDIF文件是这样的:
dn: cn=johndoe,ou=clients,ou=management,dc=example,dc=com
changetype: modify
replace: foobarStatus
foobarStatus:: ZW5hYmxl... (Base64 string) ...ZCA9IHRydWU
其中解码的Base64字符串是这样的:
market = "US"
mgmt.account.mode = "X12"
foo.field = "Something"
bar.field = "Something else"
...
问题
当我尝试通过ldapmodify
将此LDIF文件导入LDAP服务器时,出现错误:
ldapmodify: invalid format (line 4) entry: "cn=johndoe,ou=clients,ou=management,dc=example,dc=com"
我一直试图解决这个问题一段时间但是找不到错误。某处可能是一些虚假的角色。因此,我想到转换LDIF的Base64部分并以此格式导入它。属性值不包含任何不可打印的ASCII(例如带重音的字母),因此它应该可以正常工作。
注意
这可能是XY problem所以如果有人有另一个建议,我很想读它。
答案 0 :(得分:0)
事实证明ldapmodify
不喜欢长队。因此,在此处拆分Base64代码后
foobarStatus:: ZW5hYmxl... (Base64 string) ...ZCA9IHRydWU
分为79行或更少的多行,ldapmodify
能够导入它。
这解决了我原来的问题。我将这个解决方案留给未来的读者。