« チケットのテンプレートを管理するTicketExtPlugin | Main | Trac/ステータスが変更された際に自動的にメールを送信する »

2010.01.23

LDAPデータの移行

事情により、LDAPのデータを別サーバにコピーする必要が生じました。ただし、可能であれば、「まるっと」コピーするのではなく、不要なユーザーデータの削除も行いつつ。

本当はもっと楽な方法があるような気もするのですが、とりあえず、今回行った手順をメモ。

まずは、移行元のサーバーからデータを出力。

slapcat > ~/allusers.ldif

allusers.ldifを編集。今回の場合、不要なユーザーデータの他に、以下の項目も削除する必要がありました。
structuralObjectClass / entryUUID / creatorsName / createTimestamp / entryCSN / modifiersName / modifyTimestamp

で、編集したldifデータを何らかの方法で移行先のサーバにコピーし、

ldapadd -x -D '.......' -w ******** -f allusers.ldif

でインポート。なお、structuralObjectClassなどの削除を忘れていると、以下のようなエラーが発生します。

ldapadd: Constraint violation (19)
        additional info: structuralObjectClass: no user modification allowed

削除対象となる項目はデータによって異なっているのかもしれませんが、逆に、OpenLDAPへのデータ取り込みのところで記載した項目のみを残すように編集してしまうというのもありかもしれません。

|

« チケットのテンプレートを管理するTicketExtPlugin | Main | Trac/ステータスが変更された際に自動的にメールを送信する »

Linux」カテゴリの記事

Comments

slapaddコマンドを使えば、項目削除は不要です

Posted by: sakazuki | 2013.01.18 at 13:51

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/47367815

Listed below are links to weblogs that reference LDAPデータの移行:

« チケットのテンプレートを管理するTicketExtPlugin | Main | Trac/ステータスが変更された際に自動的にメールを送信する »