Provided by: manpages-ja_0.5.0.0.20210215+dfsg-1_all
名前
nsswitch.conf - ネームサービススイッチの設定ファイル
説明
ネームサービススイッチ (Name Service Switch; NSS) の設定ファイル /etc/nsswitch.conf は、 GNU C ライブラリが いろいろなカテゴリーの名前サービス情報を、どの情報源から どの順序で取得 するかを判断するのに使用される (情報の各カテゴリーはデータベース名で識別される)。 設定ファイルは通常の ASCII テキストで、列はスペースかタブ文字で 区切られる。最初の列はデー タベース名を示す。 残りの列は、情報を問い合わせる情報源の順序と、 検索結果に対して実行する アクションを規定する。 GNU C ライブラリでは以下のデータベースを扱うことができる。 aliases メールのエイリアス。 getaliasent(3) や関連する関数が使用する。 ethers イーサーネット番号。 group ユーザーのグループ。 getgrent(3) や関連する関数が使用する。 hosts ホスト名とホスト番号。 gethostbyname(3) や関連する関数が使用する。 initgroups 補助グループアクセスリスト。 getgrouplist(3) 関数が使用する。 netgroup ネットワークワイドに用いられるホストやユーザーのリスト。アクセス制限に利用 さ れる。 glibc 2.1 より前の C ライブラリは、 NIS による netgroup のみを サポート していた。 networks ネットワーク名と番号。 getnetent(3) と関連する関数が使用する。 passwd ユーザーパスワード。 getpwent(3) や関連する関数が使用する。 protocols ネットワークプロトコル。 getprotoent(3) や関連する関数が使用する。 publickey NIS+ と NFS によって用いられる secure_rpc の公開鍵と秘密鍵。 rpc リモート手続き呼び出し (remote procedure call) の名前と番号。 getrpcbyname(3) と関連する関数が使用する。 services ネットワークサービス。 getservent(3) や関連する関数が使用する。 shadow シャドウユーザーパスワード。 getspnam(3) や関連する関数が使用する。 以下は /etc/nsswitch.conf ファイルの例である。 passwd: compat group: compat shadow: compat hosts: dns [!UNAVAIL=return] files networks: nis [NOTFOUND=return] files ethers: nis [NOTFOUND=return] files protocols: nis [NOTFOUND=return] files rpc: nis [NOTFOUND=return] files services: nis [NOTFOUND=return] files 最初の列はデータベース名である。 残りの列で以下を指定する。 * 1 個以上のサービス指定 (例: "files", "db", "nis")。この行に記載された サービスの順序 で、結果が得られるまで、指定されたサービスに対する 問い合わせが順番に行われる。 * 特定の結果が直前のサービスで得られた場合に実行されるアクション (例: "[NOTFOUND=return]")。アクションは省略可能である。 利用しているシステムでどのサービス指定が利用できるかは、共有ライブラリ があるかどうかに依 存しており、そのためサービス指定は拡張できるように なっている。/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=ACTION] STATUS と ACTION はそれぞれ以下の値を取る。 STATUS => success | notfound | unavail | tryagain ACTION => return | continue ! はテスト結果を反転させる。 つまり、指定された以外の全ての結果にマッチする。 キーワードの 大文字、小文字は無視される。 STATUS は、直前のサービス指定で呼び出しされた検索処理の結果に 対して照合が行われる。 STATUS には以下のいずれかを指定できる。 success エラーは発生せず、要求されたエントリーが返された。 この場合のデフォルトの アクションは "return" である。 notfound 検索は成功したが、要求されたエントリーが見つからなかった。 この場合のデ フォルトのアクションは "continue" である。 unavail サービスが永続的に利用できない。 必要なファイルを読み込むことができない、 ネットワークサービスの場合には、サーバが利用できないとか、 サーバが問い合 わせを許可していない、などが考えられる。 この場合のデフォルトのアクション は "continue" である。 tryagain サービスが一時的に利用できない。 ファイルがロックされている、サーバがこれ 以上接続を受け付けることができない、 などが考えられる。デフォル トのアク ションは "continue" である。 ACTION には以下のいずれかを指定できる。 return 結果をすぐに返す。 これ以上検索処理は呼び出されない。 ただし、互換性のた め、 選択されたアクションが group データベースに対するもので、 ステータス が notfound であった場合で、 設定ファイルに initgroups の行が含まれていな い場合には、次の検索処理は常に呼び出される (検索結果への影響はない)。 continue 次の検索処理を呼び出す。 互換モード (compat) NSS "compat" サービスは "files" と似ているが、システムにアクセスできる ユーザーやネットグ ループ (netgroup) のメンバの指定に /etc/passwd で 特別なエントリーを追加で使うことができる 点が異なる。 このモードでは、以下のエントリーを使うことができる。 +user NIS パスワードマップの指定された user を含める。 +@netgroup 指定された netgroup の全ユーザーを含める。 -user NIS パスワードマップの指定された user を除外する。 -@netgroup 指定された netgroup の全ユーザーを除外する。 + NIS パスワードマップのユーザーのうち、 それまでに除外されていない全ての ユーザーを含める。 デフォルトでは、データ源は "nis" だが、 擬似データベース passwd_compat, group_compat, shadow_compat ではデータ源として "nisplus" を指定することもできる。
ファイル
SERVICE という名前のサービスは libnss_SERVICE.so.X という 名前の共有オブジェクトライブラリ で実装されている。 これは /lib に置かれる。 /etc/nsswitch.conf NSS の設定ファイル。 /lib/libnss_compat.so.X "compat" ソースを実装したもの。 /lib/libnss_db.so.X "db" ソースを実装したもの。 /lib/libnss_dns.so.X "dns" ソースを実装したもの。 /lib/libnss_files.so.X "files" ソースを実装したもの。 /lib/libnss_hesiod.so.X "hesoid" ソースを実装したもの。 /lib/libnss_nis.so.X "nis" ソースを実装したもの。 /lib/libnss_nisplus.so.X "nisplus" ソースを実装したもの。
注意
nsswitch.conf を利用するプロセスは、ファイルは一度しか読み込まない。 その後で nsswitch.conf が書き換えられても、そのプロセスは古い設定のままで 動作を継続する。 伝統的には、サービス情報の情報源は一つだけであり、 その設定ファイルの形式も一つであった (例えば /etc/passwd)。 一方で、 Network Information Service (NIS) や Domain Name Service (DNS) などの他の名前サービスが一般的になるに連れて、C ライブラリに埋め 込まれた固定順序で はなく、検索順序を柔軟に指定する方法が必要になった。 ネームサービススイッチ機構は、この問 題に対するよりきれいな解決方法と なっている。ネームサービススイッチ機構は、 Sun Microsystems が Solaris 2 の C ライブラリで使った機構が基になっている。
関連項目
getent(1), nss(5)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクト の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。