スポンサーリンク

NSSWITCH.CONF(5) FreeBSD ファイルフォーマットマニュアル NSSWITCH.CONF(5)

名称

nsswitch.conf − ネームサービススイッチの設定ファイル

解説

nsswitch.conf ファイルは C ライブラリでの nsdispatch(3) (ネームサービスス イッチディスパッチャ) ルーチンをどのように作動させるかを設定します。

この設定ファイルは、host, user (password), group などに関する情報を持つ様 々なデータベースを調べるためのプロセスをコントロールします。各データベー スは (ローカルファイル、DNS、 NIS のような) ソースから生成され、そのソー スを指定する順を nsswitch.conf で設定します。

nsswitch.conf の各エントリはデータベース名と、スペースで区切られたソース のリストで構成されています。各ソースには、リストの次のソースを使うか、現 在のソースで終わりにするか決める基準を後ろに書けます。各基準は、1 つもし くは、それ以上のステータスコードと、そのステータスコードが発生した際に行 う動作から成り立ってます。

ソース

以下のソースが実装されています:

       ソース

解説
files
/etc/hosts
/etc/passwd などのローカルファイル。
dns
インターネットドメインネームシステム。 ‘‘hosts’’ や ‘networks’ は、 IN クラスを使用し、その他全ては HS クラス (Hesiod) を使用し ます。
nis
NIS (以前は YP)
compat
‘‘passwd’’ と ‘‘group’’ のデータベースの ‘+/-’ をサポートします。 これがある場合、エントリのソースは、これのみです。

データベース
以下のデータベースは、以下の C ライブラリ関数によって使用されます:

データベース
使用先

group
getgrent(3)
hosts
gethostbyname(3)
networks
getnetbyname(3)
passwd
getpwent(3)
shells
getusershell(3)

ステータスコード
以下のステータスコードが利用可能です:

ステータスコード
解説

success
要求したエントリが見つかりました。
notfound
このソースには、エントリがありませんでした。
tryagain
ソースがビジー状態です。再試行可能です。
unavail
ソースの応答がないか、エントリが壊れています。

アクション
それぞれのステータスコードにおいて、以下のアクションが可能です:

アクション
解説

continue
次のソースを試行。
return
現在の結果で戻る。

ファイルフォーマット
nsswitch.conf
の BNF 構文は以下の通りです:

<entry>
::= <database> ":" [<source> [<criteria>]]*
<criteria>
::= "[" <criterion>+ "]"
<criterion>
::= <status> "=" <action>
<status>
::= "success" | "notfound" | "unavail" | "tryagain"
<action>
::= "return" | "continue"

各エントリはファイル内の新しい行からスタートします。行中の ‘#’ は、行末ま でコメントとされます。空行は無視されます。行末に ‘\’ がある場合は改行を無 視し、次の行を現在の行の続きとします。全てのエントリは、大文字と小文字を 区別しません。

デフォルト基準は ‘‘success’’ の場合は return になり、それ以外の場合は continue になります。 (つまり、 [success=return notfound=continue unavail=continue tryagain=continue])

compat モード: +/- シンタックス
歴史的なマルチソース実装において、 ‘+’ と ‘-’ 文字は、ユーザパスワードと グループ情報を NIS から取り込むよう、指定するために使われます。 NIS など で配布されているソースにアクセスする別の方法を nsswitch.conf は提供します が、ソースに単一の ‘‘compat’’ を指定すると歴史的な動作方法を提供します。

‘‘passwd_compat: source’’ を指定すると ‘+/-’ 経由でアクセスされた情報を代 替のソースに使用することができます。この場合の ‘‘source’’ には、 ‘dns’, ‘nis’ と ‘files’, ‘compat’ 以外のその他のソースがあてはまります。

注釈
歴史的な、多くのデータベースには、 getXXXent() 形式の列挙関数があります。 (各サイズが不明な) データベースがローカルファイルのときは、理にかなってい ますが、多数のソースの場合は、ほとんど意味がないか、妥当ではありません。 このインタフェースはまだ互換性のために用意されていますが、ソースが完全な エントリを提供できないかもしれません。または、似通った情報を保持している 複数のソースを指定した場合、重複したエントリが返されるかもしれません。

以前の実装と、現在の実装との互換性を確実にするために ‘‘compat’’ ソースは 指定するデータベースに、単独で存在しなければなりません。

デフォルトソースのリスト
あらゆる設定上において何らかの理由で nsswitch.conf が存在していないか、ま たは欠けていたり壊れたエントリがあった場合 nsdispatch(3) は要求されたデー タベースには ‘‘files’’ のエントリをデフォルトとします。例外は以下の通りで す:

データベース
デフォルトソースのリスト

group
compat
group_compat
nis
hosts
files dns
passwd
compat
passwd_compat
nis

関連ファイル

       /etc/nsswitch.conf

nsswitch.conf ファイルは /etc にあります。

ホスト情報を /etc/hosts その後 DNS で検索し、ユーザ情報を NIS その後 files で検索するには以下を使用してください:

       hosts:

files dns
passwd:
nis [notfound=return] files
group:
nis [notfound=return] files

‘‘[notfound=return]’’ の基準は、"NIS が notfound を返した場合、files は検 索しない" という設定になります。 NIS サーバがダウンしている時を除い て、NIS のみを正式な情報として取り扱います。

システムが NO_NIS でコンパイルされている場合 ‘nis’ のエントリは外してくだ さい。

関連項目

nsdispatch(3), resolv.conf(5), named(8), ypbind(8)

歴史

nsswitch.conf ファイルフォーマットは FreeBSD 5.0 ではじめて登場しました。 これは NetBSD 1.4 ではじめて登場した NetBSD プロジェクトからインポートさ れました。

作者

Luke Mewburn ⟨lukem@netbsd.org⟩ は ULTRIX svc.conf(5) と Solaris nsswitch.conf(4) マニュアルページからのアイディアを元に、この自由に再配布 可能なネームサービススイッチの実装を記述しました。

FreeBSD 10.0 April 23, 2005 FreeBSD 10.0

スポンサーリンク