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文件中的±語法(參見本節後面的相關內容)
|