NSSWITCH.CONF(5) | Linux Programmer's Manual | NSSWITCH.CONF(5) |
nsswitch.conf - ネームサービススイッチの設定ファイル
ネームサービススイッチ (Name Service Switch; NSS) の設定ファイル /etc/nsswitch.conf は、 GNU C ライブラリが いろいろなカテゴリーの名前サービス情報を、どの情報源から どの順序で取得するかを判断するのに使用される (情報の各カテゴリーはデータベース名で識別される)。
設定ファイルは通常の ASCII テキストで、列はスペースかタブ文字で 区切られる。最初の列はデータベース名を示す。 残りの列は、情報を問い合わせる情報源の順序と、 検索結果に対して実行するアクションを規定する。
GNU C ライブラリでは以下のデータベースを扱うことができる。
以下は /etc/nsswitch.conf ファイルの例である。
最初の列はデータベース名である。 残りの列で以下を指定する。
利用しているシステムでどのサービス指定が利用できるかは、共有ライブラリ があるかどうかに依存しており、そのためサービス指定は拡張できるように なっている。/lib/libnss_SERVICE.so.X という名前のライブラリが SERVICE という名前のサービスを提供する。標準のインストールを行った 場合、"files", "db", "nis", "nisplus" が利用できる。 データベース hosts の場合には、追加で "dns" も指定できる。 データベース passwd, group, shadow の場合には、追加で "compat" (下記の 互換モード を参照)。バージョン番号 X は、 glibc 2.0 の場合は 1、glibc 2.1 の場合は 2 で、それ以降も同様である。 追加のライブラリがインストールされているシステムでは、"hesiod", "ldap", "winbind", "wins" などの追加のサービスが利用できる。
サービス指定の次にアクションを指定することもできる。アクションを 使うと、直前のデータ源から結果が得られた後の動作を変更できる。 アクション指定は、一般的には以下の形式となる。
STATUS と ACTION はそれぞれ以下の値を取る。
! はテスト結果を反転させる。 つまり、指定された以外の全ての結果にマッチする。 キーワードの大文字、小文字は無視される。
STATUS は、直前のサービス指定で呼び出しされた検索処理の結果に 対して照合が行われる。 STATUS には以下のいずれかを指定できる。
ACTION には以下のいずれかを指定できる。
NSS "compat" サービスは "files" と似ているが、システムにアクセスできる ユーザーやネットグループ (netgroup) のメンバの指定に /etc/passwd で 特別なエントリーを追加で使うことができる点が異なる。 このモードでは、以下のエントリーを使うことができる。
デフォルトでは、データ源は "nis" だが、 擬似データベース passwd_compat, group_compat, shadow_compat ではデータ源として "nisplus" を指定することもできる。
SERVICE という名前のサービスは libnss_SERVICE.so.X という 名前の共有オブジェクトライブラリで実装されている。 これは /lib に置かれる。
nsswitch.conf を利用するプロセスは、ファイルは一度しか読み込まない。 その後で nsswitch.conf が書き換えられても、そのプロセスは古い設定のままで 動作を継続する。
伝統的には、サービス情報の情報源は一つだけであり、 その設定ファイルの形式も一つであった (例えば /etc/passwd)。 一方で、 Network Information Service (NIS) や Domain Name Service (DNS) などの他の名前サービスが一般的になるに連れて、C ライブラリに埋め 込まれた固定順序ではなく、検索順序を柔軟に指定する方法が必要になった。 ネームサービススイッチ機構は、この問題に対するよりきれいな解決方法と なっている。ネームサービススイッチ機構は、 Sun Microsystems が Solaris 2 の C ライブラリで使った機構が基になっている。
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
2013-02-12 | Linux |