/etc/nsswitch.conf 文件定义了网络数据库的搜索顺序。基于在安装过程中指定的名称服务,Oracle Solaris : 安装程序为本地系统创建缺省的 /etc/nsswitch.conf 文件。如果选择了 "None" 选项,表示使用本地文件提供名称服务,生成的 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 字段可以列出操作系统搜索的许多数据库类型之一。例如,此字段可以指示影响用户的数据库(例如 passwd、aliases )或网络数据库。对于网络数据库,参数 name-service-to-search 的值可以是 files、nis 或 nis+。hosts 数据库也可以将 dns 作为要搜索的名称服务。也可以列出多个名称服务,例如 nis+ 和 files。
在示例 10–5 中,指示的唯一搜索选项为 files。因此,除了网络数据库信息之外,本地系统还从 /etc 和 /etc/inet 目录中的文件获取安全信息和自动挂载信息。
/etc 目录包含由 Oracle Solaris : 安装程序创建的 nsswitch.conf 文件。此目录还包含以下名称服务的模板文件:
nsswitch.files
nsswitch.nis
如果要从一个名称服务更改到另一个名称服务,可以将相应的模板复制到 nsswitch.conf,也可以有选择性地编辑 nsswitch.conf 文件,将缺省名称服务更改为搜索单个数据库。
例如,在运行 NIS 的网络中,可能必须更改网络客户机上的 nsswitch.conf 文件。bootparams 和 ethers 数据库的搜索路径必须将 files 列为第一个选项,然后是 nis。以下示例说明了正确的搜索路径。
# /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)》。