Solaris のシステム管理 (IP サービス)

nsswitch.conf ファイル

/etc/nsswitch.conf ファイルは、ネットワークデータベースの検索順序を定義します。Oracle Solaris インストールプログラムは、インストール中にネットワーク管理者が指定するネームサービスに基づいて、ローカルシステム用のデフォルトの /etc/nsswitch.conf ファイルを作成します。「None」オプションを指定して、ローカルファイルをネームサービスとして使用することを指示した場合は、nsswitch.conf ファイルは次の例のようになります。


例 10–5 ネームサービスにファイルを使用するネットワーク用の nsswitch.conf


# /etc/nsswitch.files:
#
# An example file that could be copied over to /etc/nsswitch.conf;
# it does not use any naming service.
#
# "hosts:" and "services:" in this file are used only if the
# /etc/netconfig file contains "switch.so" as a
# nametoaddr library for "inet" transports.

passwd:          files
group:           files
hosts:           files
networks:        files
protocols:       files
rpc:             files
ethers:          files
netmasks:        files
bootparams:      files
publickey:       files
# At present there isn't a 'files' backend for netgroup; the
# system will figure it out pretty quickly,
# and won't use netgroups at all.
netgroup:        files
automount:       files
aliases:         files
services:        files
sendmailvars:    files

このファイルについての詳細は、nsswitch.conf(4) のマニュアルページを参照してください。基本構文は、次のとおりです。

database name-service-to-search

database フィールドには、オペレーティングシステムが検索する多くの種類のデータベースの 1 つを指定できます。たとえば、passwdaliases などのようにユーザーに影響を与えるデータベースでも、またネットワークデータベースでも指定できます。ネットワークデータベースの場合、 name-service-to-search パラメータの値は、filesnisnis+ のどれかです。hosts データベースの場合は、検索するネームサービスとして dns も値に指定できます。nis+files のように、複数のネームサービスも指定できます。

例 10–5 において、示されている唯一の検索オプションは files です。したがって、ローカルシステムは、/etc ディレクトリと /etc/inet ディレクトリに入っているファイルから、ネットワークデータベース情報のほか、セキュリティーと自動マウントに関する情報を入手します。

nsswitch.conf の変更

/etc ディレクトリには、Oracle Solaris インストールプログラムが作成する nsswitch.conf ファイルが含まれています。そのほかに、次のネームサービス用のテンプレートファイルも含まれています。

あるネームサービスから別のネームサービスに変更したい場合は、対応するテンプレートを nsswitch.conf にコピーできます。また、nsswitch.conf ファイルを選択的に編集して、個々のデータベースを見つけるために検索するデフォルトのネームサービスを変更できます。

たとえば、NIS を実行するネットワークでは、ネットワーククライアントについての nsswitch.conf ファイルの変更が必要な場合があります。bootparams データベースと ethers データベースの検索順序では、最初のオプションとして files、次に nis が指定されている必要があります。次のコード例に、正しい検索順序を示します。


例 10–6 NIS を実行するネットワーク上のクライアントのための nsswitch.conf


# /etc/nsswitch.conf:#
.
.
passwd:        files nis
group:         files nis

# consult /etc "files" only if nis is down.
hosts:         nis    [NOTFOUND=return] files
networks:      nis    [NOTFOUND=return] files
protocols:     nis    [NOTFOUND=return] files
rpc:           nis    [NOTFOUND=return] files
ethers:        files  [NOTFOUND=return] nis
netmasks:      nis    [NOTFOUND=return] files	
bootparams:    files  [NOTFOUND=return] nis
publickey:     nis    
netgroup:      nis

automount:     files nis
aliases:       files nis

# for efficient getservbyname() avoid nis
services:      files nis
sendmailvars:  files

ネームサービススイッチの詳細は、『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』を参照してください。