手册ldapmodify
页指出:
ldapmodify 的默认设置是修改现有条目
然而,当我尝试导入 LDIF 文件时,ldapmodify
出现以下错误:
ldapmodify: modify operation type is missing at line X
Q1:为什么,我应该在 ldapmodify 命令中添加哪些参数?
如果我使用导入 LDIF 文件ldapadd
并且条目已经存在,我会收到以下错误:
ldap_add: Already exists (68)
可以使用开关(继续)忽略此-c
操作,但 ldap_add 不会更新现有条目。相反,为了更新现有条目,应该使用ldapmodify
,但ldapmodify
不会添加缺失条目。
问题 2:有没有办法通过创建缺失条目并同时更新现有条目来导入 LDIF 文件?
答案1
ldapmodify 的 ldif 语法与常规 ldif 不同。例如:如果您要添加值为“bar”的“foo”条目,则应按如下方式编写 ldif:
dn: cn=ToModify,dc=example,dc=com
changetype: Modify
add: foo
foo: bar
replace: mail
mail: [email protected]
delete: unneededEntry
此 ldif 将添加值为 bar 的属性 foo,并将 mail 属性更新为[电子邮件保护]并删除不需要的条目。然后调用 ldapmodify 命令。
ldapmodify -f update.ldif
(如果需要其他选项,例如简单身份验证)
答案2
尝试 -a 开关
Add or modify options:
-a add values (default is to replace)
答案3
Goez 的回答看起来不错。
但是如果你不熟悉 ldif,那么使用
ldapvi
相反。您可以编辑已存在的条目或添加新的条目。
apt-get install ldapvi