Ldap
ldapadd/ldapmodify:需要對這些命令進行說明
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
不會添加失去的條目。Q2:有沒有辦法通過創建缺失的條目並同時更新現有的條目來導入 LDIF 文件?
ldapmodify 的 ldif 具有與正常 ldif 不同的語法。例如:如果你想添加值為 ‘bar’ 的 ‘foo’ 條目,你應該像這樣編寫你的 ldif:
dn: cn=ToModify,dc=example,dc=com changetype: Modify add: foo foo: bar replace: mail mail: new@email.com delete: unneededEntry
此 ldif 將添加值為 bar 的屬性 foo,將郵件屬性更新為 new@email.com 並刪除 unneededEntry。然後呼叫 ldapmodify 命令。
ldapmodify -f update.ldif
(如果需要其他選項,例如簡單身份驗證)