ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 でのネームサービスおよびディレクトリサービスの作業 Oracle Solaris 11.1 Information Library (日本語) |
4. Oracle Solaris Active Directory クライアントの設定 (タスク)
11. LDAP クライアントと Oracle Directory Server Enterprise Edition の設定 (タスク)
13. LDAP のトラブルシューティング (リファレンス)
NIS から LDAP への移行サービスがユーザーに与える影響
NIS から LDAP への移行コマンド、ファイル、およびマップ
Oracle Directory Server Enterprise Edition を使用した NIS から LDAP への移行の最良の実践原則
Oracle Directory Server Enterprise Edition を使用した仮想リスト表示インデックスの作成
Oracle Directory Server Enterprise Edition によるサーバーのタイムアウトの防止
Oracle Directory Server Enterprise Edition 使用時のバッファーオーバーランの防止
次の 2 つの手順に示すように、標準のマッピングとカスタムマッピングのどちらかを使用して、N2L サービスを設定できます。
NIS から LDAP への変換の一部として、inityp2l コマンドを実行する必要があります。このコマンドは、対話型で、構成情報を入力するスクリプトを実行します。次のリストに、構成に必要な情報の種類を示します。これらの属性の説明については、ypserv(1M) のマニュアルページを参照してください。
作成する構成ファイルの名前 (デフォルト = /etc/default/ypserv)
LDAP の構成情報を格納する DN (デフォルト = ypserv)
LDAP との間でデータをマッピングするための優先サーバーリスト
LDAP との間でデータをマッピングするための認証方式
LDAP との間でデータをマッピングするための TLS (Transport Layer Security)
LDAP との間でデータを読み書きするためのプロキシのユーザーバインド DN
LDAP との間でデータを読み書きするためのプロキシのユーザーパスワード
LDAP バインド動作のタイムアウト値 (秒単位)
LDAP 検索動作のタイムアウト値 (秒単位)
LDAP 変更動作のタイムアウト値 (秒単位)
LDAP 追加動作のタイムアウト値 (秒単位)
LDAP 削除動作のタイムアウト値 (秒単位)
LDAP サーバーでの検索動作の制限時間 (秒単位)
LDAP サーバーでの検索動作の制限サイズ (バイト単位)
N2L が LDAP 照会に従うかどうか
LDAP 検索のエラー処理、検索試行回数、および各試行間のタイムアウト (秒単位)
格納のエラー処理、検索試行回数、および各試行間のタイムアウト (秒単位)
マッピングファイル名
auto_direct マップのマッピング情報を生成するかどうか
スクリプトは、マッピングファイル内の適切な位置にカスタムマップについての情報を配置します。
ネーミングコンテキスト
パスワードの変更を有効にするかどうか
任意のマップのデフォルトの TTL 値を変更するかどうか
注 - sasl/cram-md5 認証は、Oracle Directory Server Enterprise Edition を含むほとんどの LDAP サーバーでサポートされていません。
「サポートされる標準マッピング」にリストされているマップを移行する場合は、この手順に従います。カスタムマップまたは非標準マップを使用している場合 は、「カスタムマッピングまたは非標準マッピングを使用して N2L サービスを設定する方法」を参照してください。
LDAP サーバーの設定が終わったら、inityp2l スクリプトを実行して、プロンプトに従って構成情報を入力します。inityp2l は構成を行い、標準および auto.* マップのためのマッピングファイルを設定します。
詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# inityp2l
NIS マスターサーバーで inityp2l スクリプトを実行して、プロンプトに従います。指定が必要な情報のリストは、「NIS から LDAP への移行サービスの設定」を参照してください。
詳細は、inityp2l(1M) のマニュアルページを参照してください。
NISLDAPmapping ファイルにリストされたすべてのマップの配備に必要な情報がすでに DIT 内に存在する場合、DIT は完全に初期化されています。
この手順は、DIT が完全に初期化されていない場合にのみ実行します。
# cd /var/yp # make
詳細については、ypmake(1M) のマニュアルページを参照してください。
# svcadm disable network/nis/server:default
# ypserv -IR
ypserv が終了するまで待ちます。
ヒント - 元の NIS dbm ファイルは上書きされません。必要に応じて、これらのファイルを回復できます。
# svcadm enable network/dns/client:default # svcadm enable network/nis/server:default
これで、標準マップでの N2L サービスの設定を完了します。手順 6 を行う必要はありません。
DIT が完全に初期化され、手順 5 をスキップした場合に限って、次の手順を実行してください。
# svcadm disable network/nis/server:default
# ypserv -r
ypserv が終了するまで待ちます。
ヒント - 元の NIS dbm ファイルは上書きされません。必要に応じて、これらのファイルを回復できます。
# svcadm enable network/dns/client:default # svcadm enable network/nis/server:default
次の状況に適合する場合、この手順を実行してください。
「サポートされる標準マッピング」にリストされていないマップがある
RFC 2307 とは異なるマッピングで LDAP にマップしたい標準の NIS マップがある
詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
役割には、認証と特権コマンドが含まれます。役割についての詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の第 9 章「役割に基づくアクセス制御の使用 (タスク)」を参照してください。
# inityp2l
NIS マスターサーバーで inityp2l スクリプトを実行して、プロンプトに従います。指定が必要な情報のリストは、「NIS から LDAP への移行サービスの設定」を参照してください。
詳細は、inityp2l(1M) のマニュアルページを参照してください。
マッピングファイルの修正方法の例は、「カスタムマップの例」を参照してください。
NISLDAPmapping ファイルにリストされたすべてのマップの配備に必要な情報がすでに DIT 内に存在する場合、DIT は完全に初期化されています。
初期化されていない場合、手順 6、手順 8、および手順 9 を完了します。
初期化されている場合、手順 6 をスキップして、手順 7、手順 8、および手順 9 を完了します。
# cd /var/yp # make
詳細については、ypmake(1M) のマニュアルページを参照してください。
# svcadm disable network/nis/server:default
# ypserv -Ir
ypserv が終了するまで待ちます。
ヒント - 元の NIS dbm ファイルは上書きされません。必要に応じて、これらのファイルを回復できます。
# svcadm enable network/dns/client:default # svcadm enable network/nis/server:default
DIT が完全に初期化されている場合に限って、この手順を実行します。
# svcadm disable network/nis/server:default
# ypserv -r
ypserv が終了するまで待ちます。
ヒント - 元の NIS dbm ファイルは上書きされません。必要に応じて、これらのファイルを回復できます。
# svcadm enable network/dns/client:default # svcadm enable network/nis/server:default
エントリが間違っている場合、LDAP ネームサービスクライアントからはそのエントリを見つけられません。
# ldapsearch -h server -s sub -b "ou=servdates, dc=..." \ "objectclass=servDates"
次の出力例は、makedm コマンドを使用して hosts.byaddr マップの内容を確認する方法を示しています。
# makedbm -u LDAP_servdate.bynumber plato: 1/3/2001 johnson: 2/4/2003,1/3/2001 yeats: 4/4/2002 poe: 3/3/2002,3/4/2000
出力結果が期待どおりの内容であれば、NIS から LDAP への移行は成功です。
元の NIS dbm ファイルは上書きされないことに注意してください。したがって、いつでもこれらのファイルは回復できます。詳細については、「NIS に戻す方法」を参照してください。
次の 2 つの例に、マップをカスタマイズする方法を示します。必要に応じて、任意のテキストエディタを使用して /var/yp/NISLDAPmapping ファイルを変更します。ファイル属性と構文についての詳細は、NISLDAPmapping(4) のマニュアルページ、および 第 9 章LDAP ネームサービスの紹介 (概要)にある LDAP ネームサービス情報を参照してください。
例 15-1 ホストエントリの移動
この例では、DIT でデフォルトの位置から別の (非標準の) 位置にホストエントリを移動する方法を示します。
NISLDAPmapping ファイル内の nisLDAPobjectDN 属性を新しいベース LDAP 識別名 (DN) に変更します。この例では、LDAP オブジェクトの内部構造は変更されません。したがって、objectClass エントリは変更されません。
変更前:
nisLDAPobjectDN hosts: \ ou=hosts,?one?, \ objectClass=device, \ objectClass=ipHost
変更後:
nisLDAPobjectDN hosts: \ ou=newHosts,?one?, \ objectClass=device, \ objectClass=ipHost
この変更によって、エントリは次のようにマッピングされます。
dn: ou=newHosts, dom=domain1, dc=sun, dc=com
元は、次のようでした。
dn: ou=hosts, dom=domain1, dc=sun, dc=com.
例 15-2 カスタムマップの実装
この例では、カスタムマップの実装方法を示します。
仮想のマップ「servdate.bynumber」には、システムのサービス日付についての情報が含まれます。このマップには、マシンのシリアル番号でインデックスが付けられます。この例では、123 です。各エントリは、マシンの所有者名、コロン、およびサービス日付のコンマ区切りのリストで構成されます。たとえば、John Smith:1/3/2001,4/5/2003 のようになります。
古いマップ構造は、次の形式の LDAP エントリにマップされます。
dn: number=123,ou=servdates,dc=... \ number: 123 \ userName: John Smith \ date: 1/3/2001 \ date: 4/5/2003 \ . . . objectClass: servDates
NISLDAPmapping ファイルを調べることによって、必要なパターンにもっとも近いマッピングが group であることを確認できます。カスタムマッピングは group マッピングを参考にできます。マップは 1 つだけなので、nisLDAPdatabaseIdMapping 属性は不要です。NISLDAPmapping に追加される属性は、次のとおりです。
nisLDAPentryTtl servdate.bynumber:1800:5400:3600 nisLDAPnameFields servdate.bynumber: \ ("%s:%s", uname, dates) nisLDAPobjectDN servdate.bynumber: \ ou=servdates, ?one? \ objectClass=servDates: nisLDAPattributeFromField servdate.bynumber: \ dn=("number=%s,", rf_key), \ number=rf_key, \ userName=uname, \ (date)=(dates, ",") nisLDAPfieldFromAttribute servdate.bynumber: \ rf_key=number, \ uname=userName, \ dates=("%s,", (date), ",")