1 .\" Copyright (c) 1998, 1999 Thorsten Kukuk (kukuk@vt.uni-paderborn.de)
2 .\" Copyright (c) 2011, Mark R. Bannister <cambridge@users.sourceforge.net>
4 .\" %%%LICENSE_START(GPLv2+_DOC_FULL)
5 .\" This is free documentation; you can redistribute it and/or
6 .\" modify it under the terms of the GNU General Public License as
7 .\" published by the Free Software Foundation; either version 2 of
8 .\" the License, or (at your option) any later version.
10 .\" The GNU General Public License's references to "object code"
11 .\" and "executables" are to be interpreted as the output of any
12 .\" document formatting or typesetting system, including
13 .\" intermediate and printed output.
15 .\" This manual is distributed in the hope that it will be useful,
16 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
17 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 .\" GNU General Public License for more details.
20 .\" You should have received a copy of the GNU General Public
21 .\" License along with this manual; if not, see
22 .\" <http://www.gnu.org/licenses/>.
25 .\"*******************************************************************
27 .\" This file was generated with po4a. Translate the source file.
29 .\"*******************************************************************
30 .TH NSSWITCH.CONF 5 2013\-02\-12 Linux "Linux Programmer's Manual"
32 nsswitch.conf \- ネームサービススイッチの設定ファイル
34 ネームサービススイッチ (Name Service Switch; NSS) の設定ファイル
35 \fI/etc/nsswitch.conf\fP は、 GNU C ライブラリが
36 いろいろなカテゴリの名前サービス情報を、どの情報源から
37 どの順序で取得するかを判断するのに使用される
38 (情報の各カテゴリはデータベース名で識別される)。
40 設定ファイルは通常の ASCII テキストで、列はスペースかタブ文字で
41 区切られる。最初の列はデータベース名を示す。
42 残りの列は、情報を問い合わせる情報源の順序と、
43 検索結果に対して実行するアクションを規定する。
45 GNU C ライブラリでは以下のデータベースを扱うことができる。
48 メールのエイリアス。 \fBgetaliasent\fP(3) や関連する関数が使用する。
54 ユーザーのグループ。 \fBgetgrent\fP(3) や関連する関数が使用する。
57 ホスト名とホスト番号。 \fBgethostbyname\fP(3) や関連する関数が使用する。
60 補助グループアクセスリスト。 \fBgetgrouplist\fP(3) 関数が使用する。
63 ネットワークワイドに用いられるホストやユーザーのリスト。アクセス制限に利用
64 される。 glibc 2.1 より前の C ライブラリは、 NIS による netgroup のみを
68 ネットワーク名と番号。 \fBgetnetent\fP(3) と関連する関数が使用する。
71 ユーザーパスワード。 \fBgetpwent\fP(3) や関連する関数が使用する。
74 ネットワークプロトコル。 \fBgetprotoent\fP(3) や関連する関数が使用する。
77 NIS+ と NFS によって用いられる secure_rpc の公開鍵と秘密鍵。
80 リモート手続き呼び出し (remote procedure call) の名前と番号。
81 \fBgetrpcbyname\fP(3) と関連する関数が使用する。
84 ネットワークサービス。 \fBgetservent\fP(3) や関連する関数が使用する。
87 シャドウユーザーパスワード。 \fBgetspnam\fP(3) や関連する関数が使用する。
89 以下は \fI/etc/nsswitch.conf\fP ファイルの例である。
105 dns [!UNAVAIL=return] files
108 nis [NOTFOUND=return] files
111 nis [NOTFOUND=return] files
114 nis [NOTFOUND=return] files
117 nis [NOTFOUND=return] files
120 nis [NOTFOUND=return] files
127 1 個以上のサービス指定 (例: "files", "db", "nis")。この行に記載された
128 サービスの順序で、結果が得られるまで、指定されたサービスに対する
131 特定の結果が直前のサービスで得られた場合に実行されるアクション
132 (例: "[NOTFOUND=return]")。アクションは省略可能である。
134 利用しているシステムでどのサービス指定が利用できるかは、共有ライブラリ
135 があるかどうかに依存しており、そのためサービス指定は拡張できるように
136 なっている。\fI/lib/libnss_SERVICE.so.\fP\fBX\fP という名前のライブラリが
137 \fISERVICE\fP という名前のサービスを提供する。標準のインストールを行った
138 場合、"files", "db", "nis", "nisplus" が利用できる。
139 データベース \fBhosts\fP の場合には、追加で "dns" も指定できる。
140 データベース \fBpasswd\fP, \fBgroup\fP, \fBshadow\fP の場合には、追加で
141 "compat" (下記の \fB互換モード\fP を参照)。バージョン番号 \fBX\fP は、
142 glibc 2.0 の場合は 1、glibc 2.1 の場合は 2 で、それ以降も同様である。
143 追加のライブラリがインストールされているシステムでは、"hesiod",
144 "ldap", "winbind", "wins" などの追加のサービスが利用できる。
146 サービス指定の次にアクションを指定することもできる。アクションを
147 使うと、直前のデータ源から結果が得られた後の動作を変更できる。
148 アクション指定は、一般的には以下の形式となる。
151 [\fISTATUS\fP=\fIACTION\fP]
153 [!\fISTATUS\fP=\fIACTION\fP]
156 STATUS と ACTION はそれぞれ以下の値を取る。
159 \fISTATUS\fP => \fBsuccess\fP | \fBnotfound\fP | \fBunavail\fP | \fBtryagain\fP
161 \fIACTION\fP => \fBreturn\fP | \fBcontinue\fP
165 つまり、指定された以外の全ての結果にマッチする。
168 \fISTATUS\fP は、直前のサービス指定で呼び出しされた検索処理の結果に
169 対して照合が行われる。 \fISTATUS\fP には以下のいずれかを指定できる。
173 エラーは発生せず、要求されたエントリが返された。
174 この場合のデフォルトのアクションは "return" である。
177 検索は成功したが、要求されたエントリが見つからなかった。
178 この場合のデフォルトのアクションは "continue" である。
183 ネットワークサービスの場合には、サーバが利用できないとか、
184 サーバが問い合わせを許可していない、などが考えられる。
185 この場合のデフォルトのアクションは "continue" である。
189 ファイルがロックされている、サーバがこれ以上接続を受け付けることができない、
190 などが考えられる。デフォル トのアクションは "continue" である。
193 \fIACTION\fP には以下のいずれかを指定できる。
197 結果をすぐに返す。 これ以上検索処理は呼び出されない。 ただし、互換性のため、 選択されたアクションが \fBgroup\fP データベースに対するもので、
198 ステータスが \fBnotfound\fP であった場合で、 設定ファイルに \fBinitgroups\fP
199 の行が含まれていない場合には、次の検索処理は常に呼び出される (検索結果への影響はない)。
205 NSS "compat" サービスは "files" と似ているが、システムにアクセスできる
206 ユーザやネットグループ (netgroup) のメンバの指定に \fI/etc/passwd\fP で
207 特別なエントリを追加で使うことができる点が異なる。
208 このモードでは、以下のエントリを使うことができる。
212 NIS パスワードマップの指定された \fIuser\fP を含める。
214 \fB+@\fP\fInetgroup\fP
215 指定された \fInetgroup\fP の全ユーザを含める。
218 NIS パスワードマップの指定された \fIuser\fP を除外する。
220 \fB\-@\fP\fInetgroup\fP
221 指定された \fInetgroup\fP の全ユーザを除外する。
225 それまでに除外されていない全てのユーザを含める。
228 デフォルトでは、データ源は "nis" だが、
229 擬似データベース \fBpasswd_compat\fP, \fBgroup_compat\fP, \fBshadow_compat\fP
230 ではデータ源として "nisplus" を指定することもできる。
232 \fISERVICE\fP という名前のサービスは \fIlibnss_SERVICE.so.\fP\fBX\fP という
233 名前の共有オブジェクトライブラリで実装されている。
234 これは \fI/lib\fP に置かれる。
238 \fI/etc/nsswitch.conf\fP
241 \fI/lib/libnss_compat.so.\fP\fBX\fP
244 \fI/lib/libnss_db.so.\fP\fBX\fP
247 \fI/lib/libnss_dns.so.\fP\fBX\fP
250 \fI/lib/libnss_files.so.\fP\fBX\fP
253 \fI/lib/libnss_hesiod.so.\fP\fBX\fP
256 \fI/lib/libnss_nis.so.\fP\fBX\fP
259 \fI/lib/libnss_nisplus.so.\fP\fBX\fP
260 "nisplus" ソースを実装したもの。
264 \fInsswitch.conf\fP を利用するプロセスは、ファイルは一度しか読み込まない。
265 その後で nsswitch.conf が書き換えられても、そのプロセスは古い設定のままで
268 伝統的には、サービス情報の情報源は一つだけであり、
269 その設定ファイルの形式も一つであった (例えば \fI/etc/passwd\fP)。
270 一方で、 Network Information Service (NIS) や Domain Name Service
271 (DNS) などの他の名前サービスが一般的になるに連れて、C ライブラリに埋め
272 込まれた固定順序ではなく、検索順序を柔軟に指定する方法が必要になった。
273 ネームサービススイッチ機構は、この問題に対するよりきれいな解決方法と
274 なっている。ネームサービススイッチ機構は、 Sun Microsystems が
275 Solaris 2 の C ライブラリで使った機構が基になっている。
277 \fBgetent\fP(1), \fBnss\fP(5)
279 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.53 の一部
280 である。プロジェクトの説明とバグ報告に関する情報は
281 http://www.kernel.org/doc/man\-pages/ に書かれている。