Provided by: manpages-zh_1.5.1-3_all bug

NAME

       nsswitch.conf - 系統數據庫及名字服務開關配置檔案

DESCRIPTION

       C                    程式庫裏很多函數都需n配置以便能在本地環境正常工作,
       習慣上是使用檔案(例如`/etc/passwd')   來完成這一任務.   但別的名字服務,
       如網路信息服務NIS,   還有域名服務DNS等,   逐漸通用起來,   並且被加入了C
       程式庫裏, 而它怢洏峈漪O固定的搜索順序.

       在有NYS 支持的Linux libc5以及GNU C Library 2.x  (libc.so.6)裏,  依靠一-
       荍馦M晰完整的方案來解決該問題.                          該方案模仿了Sun
       Microsystems公司在Solaris 2 的C 程式庫裏的方法, 也沿襲了它怐漫R名, 稱為
       "名字服務開關(NSS)".       所用       "數據庫"       及其查找順序在檔案
       /etc/nsswitch.conf 裏指明.

       NSS 中可用數據庫如下:

       aliases
              郵件別名, sendmail(8) 使用該檔案.

       ethers 以太網號.

       group  使用者組, getgrent(3) 函數使用該檔案.

       hosts  主機名和主機號, gethostbyname(3) 以及類似的函數使用了該檔案.

       netgroup
              網路內主機及其使用者的列表, 訪問規則使用該檔案.

       network
              網路名及網路號, getnetent(3) 函數使用該檔案.

       passwd 使用者口令, getpwent(3) 函數使用該檔案.

       protocols
              網路協議, getprotoent(3) 函數使用該檔案.

       publickey
              NIS+及NFS 所使用的secure_rpc的公開密匙.

       rpc     遠程過程調用名及調用號, getrpcbyname(3) 及類似函數使用該檔案.

       services
              網路服務, getservent(3) 函數使用該檔案.

       shadow shadow使用者口令, getspnam(3) 函數使用該檔案.

       下惇O

       /etc/nsswitch.conf 檔案的一茖狺l  (如果在系統中沒有  /etc/nsswitch.conf
       檔案的話, 這就是預設的設置):

       passwd:          compat

       group:           compat

       shadow:          compat

       hosts:           dns [!UNAVAIL=return] files

       networks:        nis [NOTFOUND=return] files

       ethers:          nis [NOTFOUND=return] files

       protocols:       nis [NOTFOUND=return] files

       rpc:             nis [NOTFOUND=return] files

       services:        nis [NOTFOUND=return] files

       第一欄就是上悸漯薋堜珨〞獐畬w,    每行的其餘部分指明如何查找.   對每-
       蚍畬w都可以分別指明其查找方法.

       每蚍畬w的配置規範包含兩茪ㄕP的項:

       * 服務規範, 如`files', `db', 或者`nis'.

       * 對查找結果的反應, 如`[NOTFOUND=return]'.

       在有NYS支持的libc5裏允釭A務規範`files',
       `nis'及`nisplus',此外,還可以對hosts        指明`dns'       為額外服務,
       對passwd及group 指明`compat', 但不能對shadow指明`compat'.

       在GNU         C         Library裏,         每茈i用的SERVICE都必須有檔案
       /lib/libnss_SERVICE.so.1  與之對應. 在標準安裝時, 可以使用`files',`db',
       `nis'以及`nisplus'. 此外, 還可以對hosts 指明`dns' 為額外服務, 對passwd,
       group,      shadow      指明`compat',      而在有NYS     支持的libc5中,
       不支持最後一項服務.

       說明中的第二項使使用者可以更好地控制查找過程.           Action項處於兩-
       茠A務名之間, 被括弧括著, 常規格式如下:

       `[' ( `!'? STATUS `=' ACTION )+ `]'

       這裏

       STATUS => success | notfound | unavail | tryagain

       ACTION => return | continue

       對關鍵字的大小寫並不敏感.        STATUS的O調用指定服務查找函數的結果,
       意義如下:

       success

              沒有錯誤發生, 得到想n的結果. 預設action是`return'.

       notfound
              查找順利, 但是沒有得到所n的結果. 預設action是`continue'.

       unavail
              服務永久不可用.      這可能意味著必n的檔案不可用,       或者,DNS
              服務不可用或不允閉d詢.預設action是`continue'.

       tryagain
              服務臨時不可用.               可能是檔案被鎖住了或者伺服器當前不
              接受過多的連接. 預設action是`continue'.

       使用+/-語法的交互(compat  模式)無NYS支持的linux  libc5沒有名字服務開關,
       但允釣洏峈怜竣@些簡單的策略控制.             在             /etc/passwd
       裏可以使用+user或+@netgroup條目(即包括NIS      passwd映射所指定使用者),
       以及-user或-@netgroup條目(即不包括被指定使用者),  還有 + 條目(即包括每-
       茖洏峈, 除了NIS passwd映射所排除的). 大多數人只放一 + 在  /etc/passwd
       末尾,            以此包括NIS            的所有東西.           對該情況,
       開關提供更快捷的替代方式(`passwd:    files    nis'),     這使得無需再往
       /etc/passwd,  /etc/group/etc/shadow 裏添加單 + 條目. 如果這還不夠,
       NSS     的`compat'      服務提供了完全的+/-語法.      我怚i以對偽數據庫
       passwd_compat,          group_compatshadow_compat
       指明`nisplus'服務來覆遜w設服務`nis',         但請注意只在GNU          C
       Library裏可以使用偽數據庫.

 FILES
       名為SERVICE的服務是通過位於/lib的共享對象libnss_SERVICE.so.1實現的.

       /etc/nsswitch.conf       配置檔案

       /lib/libnss_compat.so.1  為GNU C Library 2.x實現`compat'

       /lib/libnss_db.so.1       為GNU C Library 2.x實現`db'

       /lib/libnss_dns.so.1     為GNU C Library 2.x實現`dns'

       /lib/libnss_files.so.1    為GNU C Library 2.x實現`files'

       /lib/libnss_hesoid.so.1  為GNU C Library 2.x實現`hesoid'

       /lib/libnss_nis.so.1     為GNU C Library 2.x實現`nis'

       /lib/libnss_nisplus.so.1 為GNU C Library 2.x實現`nisplus'

`N NOTES
       每茈峔鴗Fnsswitch.conf    檔案的進程只完整地讀一次檔案,   如果該檔案後-
       掖Q改變了, 進程將仍然使用鴩茠滌t置.

       在Solaris 下, 不能靜態連接使用了NSS  Service  的程式,  但是在Linux  下,
       則毫無問題.

[]
       <mapping@263.net>
[]
       2000.11.11
mlinuxan:
       http://cmpp.linuxforum.net