系统管理指南: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 字段可以列出操作系统搜索的许多数据库类型之一。例如,此字段可以指示影响用户的数据库(例如 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 文件。bootparamsethers 数据库的搜索路径必须将 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

有关名称服务转换器的完整详细信息,请参阅《系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)》