ldapmodify
のマニュアルページには、次のように記載されています。
Ldapmodifyのデフォルトでは、既存のエントリを変更します
しかし、ldapmodify
を使用してLDIFファイルをインポートしようとすると、次のエラーが発生します。
ldapmodify: modify operation type is missing at line X
Q1:なぜ、ldapmodifyコマンドにどの引数を追加する必要があるのですか?
ldapadd
を使用してLDIFファイルをインポートし、エントリがすでに存在する場合、次のエラーが発生します。
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: [email protected]
delete: unneededEntry
このldifは、値barの属性fooを追加し、メール属性を[email protected]に更新して、不要なエントリを削除します。次に、ldapmodifyコマンドを呼び出します。
ldapmodify -f update.ldif
(たとえば、単純な認証などの他のオプションで必要な場合)
Goezの回答は問題ないようです。
ただし、ldifに慣れていない場合は、使用しても意味があります。
ldapvi
代わりに。既存のエントリを編集するか、新しいエントリを追加できます。
apt-get install ldapvi
-aスイッチを試してください
Add or modify options:
-a add values (default is to replace)