ldapmemberconvert
説明
LDAP グループエントリーの "Member
" 属性値から、LDAP メンバー (ユーザまたはテンプレート) エントリーの "MemberOf
" 属性値へ移植する LDAP ユーティリティーです。
このユーティリティーは、LDAP サーバのデータを "MemberOf
" モード、または "Both
" モードで動作するように変換するものです。このユーティリティは、1 つ以上の "Member
" 属性値を保持する指定されたすべてのグループまたはテンプレート エントリを検索し、各値を変更します。このユーティリティは、指定されたすべてのグループ/テンプレート エントリを検索し、その "Member
" 属性値を取得します。
各値は、メンバエントリのDNである。このDNで識別されるエントリは、手元のグループ/テンプレートDNの"MemberOf
"属性値に追加される。さらに、このコマンドを "Both
" モードで実行しない限り、グループ/テンプレートから "Member
" 属性値が削除されます。
このコマンドを実行すると、現在の作業ディレクトリにログファイルldapmemberconvert.log
が作成されます。このコマンドは、実行されたすべての変更と遭遇したエラーをそのログファイルに記録します。
|
重要- LDAP サーバのデータベースをバックアップしてくださいbefore この変換ユーティリティを実行します。 |
|
注:
|
構文
|
パラメータ
パラメータ |
説明 |
|
---|---|---|
|
指定されたTDERRORデバッグレベルでデバッグモードでコマンドを実行します。 有効な値は、0(無効)~5(最大レベル、推奨)です。 |
|
|
LDAPサーバのコンピュータを、IPアドレスまたは解決可能なホスト名で指定します。 LDAP サーバを明示的に指定しない場合、このコマンドは |
|
|
LDAPサーバのポートを指定します。デフォルトは389。 |
|
|
LDAPサーバの管理者識別名を指定します。 |
|
|
LDAPサーバの管理者パスワードを指定します。 |
|
|
グループ |
|
|
LDAP の " |
|
|
LDAP の " この構文では、複数の属性値を指定することができます。
|
|
|
" |
|
|
グループDNのリストを改行で区切って格納したファイルを指定する。
1行の長さは256文字までです。 |
|
|
変換の対象となるグループまたはテンプレートの識別名を指定します。 この構文では、複数のグループDNを指定することができます。
|
|
|
LDAP操作のサーバ側の時間制限を秒単位で指定します。 デフォルト値は |
|
|
メンバLDAPの同時更新の最大数を指定します。 デフォルトは 20 です。 |
|
|
LDAP操作のサーバ側のサイズ制限をエントリ数で指定します。 デフォルト値は |
|
|
LDAP操作のクライアント側のタイムアウトをミリ秒単位で指定します。 デフォルト値は |
|
|
SSL接続を使用することを指定します。 |
注
2つの "GroupMembership
" モードがあります。これらのモードを統一しておく必要があります。
-
template-to-groups
-
user-to-groups
例えば、LDAPユーザに対して、そのグループの"MemberOf
"属性を含むように変換を適用する場合、そのグループのLDAP定義テンプレートにもこの変換が適用されなければなりません。
トラブルシューティング
Symptom:
パラメータ-M <Number of Updates>
を指定してコマンドを実行すると、接続が予期せず停止した旨のエラーメッセージが表示されて失敗します。
Root Cause:
LDAPサーバは、同時にそれだけのLDAPリクエストを処理することができず、接続を終了しました。
Solution:
-M
" のパラメータを小さくして、再度コマンドを実行します。デフォルトの値で十分ですが、極端な状況では接続障害を引き起こす可能性もあります。コマンドが正常に実行されるまで、値を下げ続けてください。同じグループを使ってコマンドを実行するたびに、コマンドは中断したところから続行されます。
例

グループは、DN "cn=cpGroup,ou=groups,ou=cp,c=us
" と以下の属性で定義されます。
2つのメンバエントリの場合。
... cn=member1 objectclass=fw1Person ... |
および:
... cn=member2 objectclass=fw1Person ... |
次を実行します:
|
グループDNの結果は
... cn=cpGroup ... |
2つのメンバエントリの結果は、次のようになります。
および:
同じコマンドを "-B
" パラメータ付きで実行しても、同じ結果が得られますが、グループエントリーは変更されません。

同じグループエントリに別のメンバ属性値が存在する場合。
|
で、テンプレートは
cn=member1 objectclass=fw1Template |
その後、同じコマンドを実行すると、パラメータ "-c fw1Person
" のために、テンプレートエントリはそのままですが、 "template1
" のオブジェクトクラスは "fw1Template
" になっています。