ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 でのネームサービスおよびディレクトリサービスの作業 Oracle Solaris 11.1 Information Library (日本語) |
4. Oracle Solaris Active Directory クライアントの設定 (タスク)
11. LDAP クライアントと Oracle Directory Server Enterprise Edition の設定 (タスク)
ネームサービススイッチは、管理者がネットワーク情報のタイプごとに、どのネーム情報サービスまたはソースを使用するかを指定できるようにする、構成可能な選択サービスです。これらのサービスは、データベースと呼ばれます。ネームサービススイッチは、次のような getXbyY() インタフェースのいずれかを呼び出すクライアントアプリケーションによって使用されます。
各システムは、SMF リポジトリ内に独自の構成を持っています。ネームサービススイッチで定義された各プロパティーによって、ホスト、パスワード、グループなどの特定のデータベースが識別されます。各プロパティーに割り当てられた値によって、情報をリクエストする先の 1 つまたは複数のソースが一覧表示されます。これらの値にガイダンスまたはオプションが含まれる場合もあります。このガイダンスには、サービスで試みるべき再試行の回数、適用するタイムアウトの種類、サービスが失敗した場合の処理などが含まれている可能性があります。
ネームサービススイッチでは、次のデータベースがサポートされています。
表 2-1 ネームサービススイッチのデータベース
|
さらに、ネームサービススイッチ内の default プロパティーによって、ほかでは定義されないすべてのデータベースのソース文字列が定義されます。ネットワークでほとんどのデータベースに同じソースを使用している場合は、default プロパティーを変更し、データベースごとのプロパティーを定義しないようにすることができます。手順については、「すべてのネームデータベースのソースを変更する方法」を参照してください。
以前のリリースをサポートするには、enable_passwd_compat および enable_group_compat プロパティーを true に設定すると、パスワードやグループ情報のための compat モードを有効にすることができます。このモードでは、適切なデータベースでの旧形式の「+」または「-」構文に対するサポートが提供されます。現在のリリースでは、この機能は pam_list モジュールによって置き換えられています。
次の表では、上に示されているデータベースのネームサービススイッチで一覧表示できるソースのタイプについて説明します。
表 2-2 ネームサービススイッチの情報ソース
|
次の検索条件形式を使用すると、1 つまたは複数の情報ソースを選択したり、ソースが使用される順序を指定したりすることができます。
単一ソース — 情報タイプに 1 つのソースのみが含まれている場合 (files など)、スイッチを使用する検索ルーチンは、そのソース内の情報のみを検索します。情報が見つかった場合、「success」というステータスメッセージが返されます。情報が見つからない場合は、検索が停止され、「success」以外のステータスメッセージが返されます。ステータスメッセージに基づいて何をするかは、ルーチンによって異なります。
複数ソース — データベースに特定の情報タイプの複数のソースが含まれている場合、スイッチは検索ルーチンに、最初に一覧表示されているソース内を検索するよう指示します。情報が見つかった場合、「success」というステータスメッセージが返されます。最初のソースで情報が見つからない場合は、次のソースが検索されます。このルーチンは、情報を見つけるか、または return 指定によって停止されるまで、すべてのソースを検索します。必要な情報がどのソースにもなかったとき、ルーチンは検索を停止し、non-success というステータスメッセージを返します。
Oracle Solaris 11 リリース のデフォルトでは、最初のソースは files です。この構成によって、一覧表示されている次のソースが使用できない場合でもシステムのハングアップが回避されます。
ルーチンが情報を見つけた場合、そのルーチンは success ステータスメッセージを返します。探している情報が見つからない場合は、3 種類のエラーステータスメッセージのいずれかが返されます。表示されるステータスメッセージを次の表に示します。
表 2-3 ネームサービススイッチのステータスメッセージ
|
ネームサービススイッチに、次の表に示す 2 つのアクションのいずれかでステータスメッセージに応答するよう指示できます。
表 2-4 ネームサービススイッチからステータスメッセージへの応答
|
さらに、TRYAGAIN ステータスメッセージについては、次のアクションを定義できます。
forever – 現在のソースを無期限に再試行します。
n – 現在のソースをさらに n 回再試行します。
ネームサービススイッチのステータスメッセージとアクションオプションの組み合わせによって、検索ルーチンが各ステップで何を実行するかが決定されます。ステータスメッセージとアクションオプションの組み合わせによって、検索条件が構成されます。
スイッチのデフォルトの検索条件は、どのソースでも同じです。この一覧には、いくつかの検索条件の説明が含まれています。
UNAVAIL=continue。次のネームサービススイッチソースに移動し、検索を続行します。次のソースがなければ、「NOTFOUND」というステータスを返します。
NOTFOUND=continue。次のネームサービススイッチソースに移動し、検索を続行します。次のソースがなければ、「NOTFOUND」というステータスを返します。
TRYAGAIN=continue。次のネームサービススイッチソースに移動し、検索を続行します。次のソースがなければ、「NOTFOUND」というステータスを返します。
デフォルトの検索条件は、前の一覧に示されている STATUS=action 構文を使用して、ほかの何らかの条件を明示的に指定することによって変更できます。たとえば、NOTFOUND 状態に対するデフォルトのアクションは、次のソースに検索を続行することです。ネットワークデータベースの検索条件が次のように報告される可能性があります。
svc:/system/name-service/switch> listprop config/network config/network astring "nis [NOTFOUND=return] files"
networks: nis [NOTFOUND=return] files エントリは、NOTFOUND ステータスに対するデフォルト以外の条件を指定します。デフォルト以外の条件は角括弧で区切られます。
この例では、検索ルーチンは次のような働きをします。
network データベースが使用可能であり、必要な情報を含んでいる場合、このルーチンは SUCCESS ステータスメッセージを返します。
network データベースが使用可能でない場合、このルーチンは UNAVAIL ステータスメッセージを返します。デフォルトでは、このルーチンは次に一覧表示されている条件を使用して、引き続き検索を実行します。
network データベースが使用可能であり、見つかったが、そのデータベースに必要な情報が含まれていない場合、このルーチンは NOTFOUND メッセージを返します。ただし、引き続き次のソースを検索するのではなく (これがデフォルトの動作です)、このルーチンは検索を停止します。
network データベースがビジー状態にある場合、このルーチンは TRYAGAIN ステータスメッセージを返し、デフォルトでは引き続き network データベースを検索します。
注 - ネームサービススイッチでの検索は、項目が一覧表示されている順序で実行されます。ただし、passwd -r repository コマンドを使用して特に指定されていないかぎり、パスワード更新は逆の順序で実行されます。詳細は、「ネームサービススイッチとパスワード情報」を参照してください。
クライアントのライブラリルーチンには、ネームサービススイッチで特定の SMF プロパティーまたは default の SMF プロパティーが定義されていない場合や、プロパティーが構文的に正しくない場合に使用される、コンパイル時に組み込まれるデフォルトのエントリが含まれています。通常、これらのコンパイル時に組み込まれるデフォルトは「files」のみです。
auto_home テーブル、auto_master テーブルとマップのスイッチ検索基準は、automount と呼ばれる1 つのカテゴリに統合されます。
timezone テーブルではネームサービススイッチが使用されないため、このテーブルはスイッチのプロパティーリストに含まれていません。
keyserv デーモンは、keyserv が起動されている場合にのみ、ネームサービススイッチ内の publickey プロパティーを読み取ります。ネームサービススイッチのプロパティーが変更された場合は、svcadm refresh svc:/network/rpc/keyserv:default を使用して keyserv デーモンが再起動されるまで、keyserv はその変更を登録しません。プロパティーの変更が SMF リポジトリに読み込まれるように、このコマンドはプロパティーが変更され、name-service/switch サービスがリフレッシュされたあとに実行する必要があります。