Ldap

ldapadd/ldapmodify:需要對這些命令進行說明

  • August 17, 2019

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 

(如果需要其他選項,例如簡單身份驗證)

引用自:https://serverfault.com/questions/290296