nsswitch.conf是SUN公司开发的一种扩充(name services switch)

nsswitch工作原理

当需要提供nsswitch.conf文件所描述的信息的时候,系统将检查含有适当info字段的配置行。它按照从左向右的顺序开始执行配置行中指定的方法。在默认情况下,如果找到期望的信息,系统将停止搜索。如果没有指定action,那么当某个方法未能返回结果时,系统就会尝试下一个动作。有可能搜索结束都没有找到想要的信息
 

格式
 文件nsswitch.conf中的每一行配置都指明了如何搜索信息,比如用户的口令。nsswitch.conf每行配置的格式如下:

info:         method `action` [method `action`...]

其中,info指定该行所描述的信息的类型,method为用来查找该信息的方法,action是对前面的method的返回状态的响应。action要放在方括号里面。
 

/etc/nsswitch.conf
作用:用于处理Hosts表和DNS的顺序

 
hosts: dns files
表示只在DNS失效时候才使用/etc/hosts文件

hosts: dns
表示只用DNS解析主机

host: files
表示只用/etc/hosts文件解析主机

hosts: files dns
将使用/etc/inet/hosts文件解析主机,表示如果无法解析主机名将使用DNS。

如果使用了NIS+,那么这行将如下所示:
dns nisplus nis files

 ===========

 

nsswitch.conf的工作原理
当需要提供nsswitch.conf文件所描述的信息的时候,系统将检查含有适当info字段的配置行。它按照从左向右的顺序开始执行配置行中指定的方法。在默认情况下,如果找到期望的信息,系统将停止搜索。如果没有指定action,那么当某个方法未能返回结果时,系统就会尝试下一个动作。有可能搜索结束都没有找到想要的信息。
1. 信息
nsswitch.conf文件通常控制着用户(在passwd中)、口令(在shadow中)、主机IP地址和组信息的搜索。下面的列表描述了nsswitch.conf文件控制搜索的大多数信息(前面所讨论的配置行格式中的info)的类型。

automount
自动挂载(/etc/auto.master和/etc/auto.misc)
bootparams
无盘引导选项和其他引导选项(参见bootparam的手册页)
ethers
MAC地址
group
用户所在组(/etc/group)
hosts
系统信息(/etc/hosts)
networks
网络信息(/etc/networks)
passwd
用户信息(/etc/passwd)
protocols
协议信息(/etc/protocols)
publickey
用于安全模式下运行的NFS
rpc
RPC名称和编号(/etc/rpc)
services
服务信息(/etc/services)
shadow
映射口令信息(/etc/shadow)

2. 方法
下面列出了nsswitch.conf配置文件控制搜索的信息类型(前面所讨论的配置行格式中的method)。对于每一种信息类型,都可以指定下面的一种或者多种方法:

files
搜索本地文件,如/etc/passwd和/etc/hosts
nis
搜索NIS数据库,nis还有一个别名,即yp
dns
查询DNS(只查询主机)
compat
passwd、group和shadow文件中的±语法(参见本节后面的相关内容)