- PR -

OpenLDAPの部署間移動について

1
投稿者投稿内容
ドラミ
常連さん
会議室デビュー日: 2005/09/27
投稿数: 25
投稿日時: 2007-11-06 10:25
いつもお世話になっております
OpenLDAPの部署に所属しているユーザーを一括で移動する方法についてお尋ねします。

ある部署(finance)に所属しているユーザーが数百名いて、そのユーザーを
すべて別の部署(sales)に移動したいと考えています。

LDAPへのDNの登録内容は次のような形式になっています。
-------------------
dn: cn=テスト 太郎,ou=finance,dc=example,dc=local
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
cn: テスト 太郎
sn: テスト タロウ
mail: test@example.jp
-------------------

LDAPのツリー構造は下記のようになっています。
-------------------
local
>>|
>>+--example
>>>>>>>|
>>>>>>>+--finance
>>>>>>>|
>>>>>>>+--sales
>>>>>>>|
-------------------

■構成
OS:RedHatLinux ES4
OpenLDAP:2.2.13-6.4E(OSについているもの)

ldapmodifyなどでできないものかと模索しているのですが、なかなかうまくいきません・・・・
方法は問いませんので、何卒ご教授の程、宜しくお願いいたします。


[ メッセージ編集済み 編集者: ドラミ 編集日時 2007-11-06 10:31 ]
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2007-11-06 15:46
まあ、あまり考えずにコピー&削除じゃダメですかね。
rootdnとかパスワードとか適時読み替えて下さい。-Wオプションもありですね。

◇コピー
ldapsearch -x -b "ou=finance,dc=example,dc=local" -D"cn=manager,dc=local" \\
-w password -LLL cn=* | sed s/ou=finance/ou=sales/ \\
| ldapadd -x -D"cn=manager,dc=local" -w password
◇削除
ldapsearch -x -b "ou=finance,dc=example,dc=local" -D"cn=manager,dc=local" \\
-w password -LLL cn=* | awk -F': ' '/^dn:/ {print $2}' \\
| ldapdelete -v -x -D"cn=manager,dc=local" -w password

長くて面倒ならファイルに落として適時-fオプション使えば良いかと。
基本的にはldapsearch でエントリ抜き出す→加工→登録
ldapsearch でエントリ抜き出す→加工→削除 しているだけです。

_________________
桃李不言 下自成蹊
ドラミ
常連さん
会議室デビュー日: 2005/09/27
投稿数: 25
投稿日時: 2007-11-07 15:54
anightsさん

返信ありがとうございます。
ご教授いただいた方法でコピー&削除ができました!

一件ずつ部署の移動を行おうと思っていて、1日かかると覚悟していましたが、
数分で終わらせることができました。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)