Oracle® Solaris 11.2 ディレクトリサービスとネームサービスでの作業: DNS と NIS

印刷ビューの終了

更新: 2014 年 7 月
 
 

ネームサービススイッチのデータベースとソース

ネームサービススイッチによりサポートされているデータベースは、SMF サービスを使用して構成されます。これらのデータベースのリストを取得するには、svcfg コマンドを次の例に示すように使用します。

# svccfg -s name-service/switch listprop config
config                      application
config/default              astring             files
config/password             astring             "files nis"
config/group                astring             "files nis"
config/host                 astring             "files nis"
config/network              astring             "nis [NOTFOUND=return] files"
config/protocol             astring             "nis [NOTFOUND=return] files"
config/rpc                  astring             "nis [NOTFOUND=return] files"
config/ether                astring             "nis [NOTFOUND=return] files"
config/netmask              astring             "files nis"
config/bootparam            astring             "nis [NOTFOUND=return] files"
config/publickey            astring             "nis [NOTFOUND=return] files"
config/netgroup             astring             nis
config/automount            astring             "files nis"
config/alias                astring             "files nis"
config/service              astring             "files nis"
config/printer              astring             "user nis"
config/auth_attr            astring             "files nis"
config/prof_attr            astring             "files nis"
config/project              astring             "files nis"

次の表に、各データベースに格納される情報の種類を説明します。SMF の観点から、これらのデータベースは、サービスの構成可能なプロパティーであると見なされます。

表 2-1  ネームサービススイッチのデータベース
情報データベース
情報の種類
alias
電子メールアドレスと別名
auth_attr
承認名と説明
automount
ローカルにマウントできるリモートファイルシステムに関する情報
bootparam
ディスクレスクライアントのブート情報
ether
Ethernet アドレスおよび一致するホスト名
group
ファイルへのアクセスを共有するために使用できるグループに関する情報
host
IP アドレスおよび一致するホスト名
netgroup
共有 NFS ファイルシステムの情報
netmask
IP サブネットを実装するために使用されるネットワークマスク
network
ネットワークごとの名前と番号
password
ユーザーアカウント情報
prof_attr
実行プロファイルの名前、説明、およびその他の属性
project
プロジェクト名、一意の識別子、および関連付けられたリソース割り当て
protocol
インターネットプロトコルの名前、番号、および別名 (存在する場合)
publickey
公開鍵情報
rpc
RPC プログラムの名前と番号
service
インターネットサービスの名前、ポート、およびプロトコル
tnrhdb
Oracle Solaris の Trusted Extensions 機能を使用しているホストのセキュリティー属性
tnrhtp
Trusted Extensions によって使用されるテンプレート

さらに、ネームサービススイッチ内の default プロパティーによって、ほかでは定義されないすべてのデータベースのソース文字列が定義されます。すべてのデータベースとその情報が /etc ディレクトリでローカルに検出されたことを示すため、このプロパティーの値は files に設定されます。Table 2–2 に示すソースに基づき、default プロパティーの別構成を設定できます。手順については、すべてのネームデータベースのソースを変更する方法を参照してください。

default プロパティーを使用すると、データベースごとにソースを構成するのではなく、データベースに広く適用されるソースを構成することができます。

次の表では、上に示されているデータベースのネームサービススイッチで一覧表示できるソースのタイプについて説明します。

表 2-2  ネームサービススイッチの情報ソース
情報ソース
説明
ad
Active Directory サーバー上に格納されているデータベースを識別します。
pam_list
廃止された compat データベースを置き換えます。パスワードやグループ情報に使用すると、/etc/passwd/etc/shadow、および /etc/group ファイルで旧形式の「+」または「-」構文をサポートできます。
dns
ホスト情報を DNS から取得するように指定します。
files
クライアントの /etc ディレクトリ内に格納されているファイルを指定します (たとえば、/etc/passwd)。
ldap
エントリを LDAP ディレクトリから取得するように指定します。
mdns
マルチキャスト DNS (mDNS) を使用してホスト情報を指定します。
nis
NIS マップを指定します (たとえば、hosts マップ)。

ネームサービススイッチのソース形式

    次の検索条件形式を使用すると、1 つまたは複数の情報ソースを選択したり、ソースが使用される順序を指定したりすることができます。

  • 単一ソース — 情報タイプに 1 つのソースのみが含まれている場合 (files など)、スイッチを使用する検索ルーチンは、そのソース内の情報のみを検索します。情報が見つかった場合、「success」というステータスメッセージが返されます。情報が見つからない場合は、検索が停止され、「success」以外のステータスメッセージが返されます。ステータスメッセージに基づいて何をするかは、ルーチンによって異なります。

  • 複数ソース — データベースに特定の情報タイプの複数のソースが含まれている場合、スイッチは検索ルーチンに、最初に一覧表示されているソース内を検索するよう指示します。情報が見つかった場合、「success」というステータスメッセージが返されます。最初のソースで情報が見つからない場合は、次のソースが検索されます。ルーチンは情報が見つかるか、return 処理によって中止されるまで全ソースを検索します。必要な情報がどのソースにもなかったとき、ルーチンは検索を停止し、non-success というステータスメッセージを返します。

デフォルトでは、Oracle Solaris 11 リリースで 1 番目のソースは files です。この構成によって、一覧表示されている次のソースが使用できない場合でもシステムのハングアップが回避されます。

ネームサービススイッチのステータスメッセージ

ルーチンが情報を見つけた場合、そのルーチンは success ステータスメッセージを返します。探している情報が見つからない場合は、3 種類のエラーステータスメッセージのいずれかが返されます。表示されるステータスメッセージを次の表に示します。

表 2-3  ネームサービススイッチのステータスメッセージ
ステータスメッセージ
説明
SUCCESS
要求されたエントリがソース内で発見された。
UNAVAIL
ソースが応答しない、または使用不可。つまり、どのデータベースソースも見つからなかったか、またはアクセスできませんでした。
NOTFOUND
ソースが「エントリなし」と応答した。つまり、データベースにはアクセスしましたが、必要な情報が見つかりませんでした。
TRYAGAIN
ソースはビジー状態にあり、次回は応答する可能性があります。つまり、データベースは見つかりましたが、クエリーに応答できませんでした。

ネームサービススイッチのスイッチアクションオプション

ネームサービススイッチに、次の表に示す 2 つのアクションのいずれかでステータスメッセージに応答するよう指示できます。

表 2-4  ネームサービススイッチからステータスメッセージへの応答
アクション
説明
return
情報の検索を停止します。
continue
次のソースの検索を試みます。

    さらに、TRYAGAIN ステータスメッセージについては、次のアクションを定義できます。

  • forever – 現在のソースを無期限に再試行します。

  • n – 現在のソースをさらに n 回再試行します。

ネームサービススイッチのデフォルトの検索条件

ネームサービススイッチのステータスメッセージとアクションオプションの組み合わせによって、検索ルーチンが各ステップで何を実行するかが決定されます。ステータスメッセージとアクションオプションの組み合わせによって、検索条件が構成されます。

スイッチのデフォルトの検索条件は、どのソースでも同じです。この一覧には、いくつかの検索条件の説明が含まれています。

  • SUCCESS=return。情報の検索を停止します。見つかった情報を使用して処理を続行します。

  • UNAVAIL=continue。次のネームサービススイッチソースに移動し、検索を続行します。次のソースがなければ、「NOTFOUND」というステータスを返します。

  • NOTFOUND=continue。次のネームサービススイッチソースに移動し、検索を続行します。次のソースがなければ、「NOTFOUND」というステータスを返します。

  • TRYAGAIN=forever。現在のネームサービススイッチソースの検索を無期限に実行します。

  • TRYAGAIN=3。現在のソースを 3 回検索します。TRYAGAIN アクションは、操作を 3 回再試行したあとで continue に遷移し、次のネームサービススイッチソースを検索します。

デフォルトの検索条件は、前の一覧に示されている STATUS=action 構文を使用して、ほかの何らかの条件を明示的に指定することによって変更できます。手順については、データベースの検索条件を構成する方法を参照してください。


注 -  ネームサービススイッチでの検索は、項目が一覧表示されている順序で実行されます。ただし、passwd –r repository コマンドを使用して特に指定されていないかぎり、パスワード更新は逆の順序で実行されます。詳細は、ネームサービススイッチとパスワード情報を参照してください。

構文が間違っている場合の処理

クライアントのライブラリルーチンには、ネームサービススイッチで特定の SMF プロパティーまたは default の SMF プロパティーが定義されていない場合や、プロパティーが構文的に正しくない場合に使用される、コンパイル時に組み込まれるデフォルトのエントリが含まれています。通常、これらのコンパイル時に組み込まれるデフォルトは「files」のみです。

auto_homeauto_master

auto_home テーブル、auto_master テーブルとマップのスイッチ検索基準は、automount と呼ばれる 1 つのカテゴリに統合されます。

timezone とネームサービススイッチ

timezone テーブルではネームサービススイッチが使用されないため、このテーブルはスイッチのプロパティーリストに含まれていません。