NSSWITCH.CONF 5
目录
- NAME nsswitch.conf
- DESCRIPTION C 程序库里很多函数都需要配置以便能在本地环境正常工作, 习惯上是使用文件(例如`/etc/passwd') 来完成这一任务. 但别的名字服务, 如网络信息服务NIS, 还有域名服务DNS等, 逐渐通用起来, 并且被加入了C 程序库里, 而它们使用的是固定的搜索顺序. .LP 在有NYS 支持的Linux libc5以及GNU C Library 2.x (libc.so.6)里, 依靠一个更清晰完整的方案来解决该问题. 该方案模仿了Sun Microsystems公司在Solaris 2 的C 程序库里的方法, 也沿袭了它们的命名, 称为
- 文件 FILES 名为SERVICE的服务是通过位于/lib的共享对象libnss_SERVICE.so.1实现的. .TP 25 .PD 0 .B /etc/nsswitch.conf 配置文件 .TP .B /lib/libnss_compat.so.1 为GNU C Library 2.x实现`compat' .TP .B /lib/libnss_db.so.1 为GNU C Library 2.x实现`db' .TP .B /lib/libnss_dns.so.1 为GNU C Library 2.x实现`dns' .TP .B /lib/libnss_files.so.1 为GNU C Library 2.x实现`files' .TP .B /lib/libnss_hesoid.so.1 为GNU C Library 2.x实现`hesoid' .TP .B /lib/libnss_nis.so.1 为GNU C Library 2.x实现`nis' .TP .B /lib/libnss_nisplus.so.1 为GNU C Library 2.x实现`nisplus' .LP .SH 注意 NOTES 每个用到了nsswitch.conf 文件的进程只完整地读一次文件, 如果该文件后面被改变了, 进程将仍然使用原来的配置. 在Solaris 下, 不能静态连接使用了NSS Service 的程序, 但是在Linux 下, 则毫无问题. .SH
- [中文版最新更新]
- 《中国linux论坛man手册页翻译计划》:
- 跋
NSSWITCH.CONF
NAMEDESCRIPTION
æä»¶ FILES
注æ NOTES
[䏿çç»´æ¤äºº]
[ä¸æçææ°æ´æ°]
ãä¸å½linux论åmanæå页翻è¯è®¡åã:
è·
NAME
nsswitch.conf - ç³»ç»æ°æ®åºåååæå¡å¼å³éç½®æä»¶
DESCRIPTION
C ç¨åºåºéå¾å¤å½æ°é½éè¦é置以便è½å¨æ¬å°ç¯å¢æ£å¸¸å·¥ä½, ä¹ æ¯ä¸æ¯ä½¿ç¨æä»¶(ä¾å¦‘/etc/passwd’) æ¥å®æè¿ä¸ä»»å¡. ä½å«çååæå¡, å¦ç½ç»ä¿¡æ¯æå¡NIS, è¿æååæå¡DNSç, 鿏éç¨èµ·æ¥, å¹¶ä¸è¢«å å¥äºC ç¨åºåºé, èå®ä»¬ä½¿ç¨çæ¯åºå®çæç´¢é¡ºåº.
卿NYS æ¯æçLinux libc5以åGNU C Library 2.x (libc.so.6)é, ä¾é ä¸ä¸ªæ´æ¸æ°å®æ´çæ¹æ¡æ¥è§£å³è¯¥é®é¢. è¯¥æ¹æ¡æ¨¡ä»¿äºSun Microsystemså¬å¸å¨Solaris 2 çC ç¨åºåºéçæ¹æ³, 乿²¿è¢äºå®ä»¬çå½å, 称为 "ååæå¡å¼å³(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) 彿°ä½¿ç¨è¯¥æä»¶. |
ä¸é¢æ¯
/etc/nsswitch.conf æä»¶çä¸ä¸ªä¾å (妿å¨ç³»ç»ä¸æ²¡æ /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
ç¬¬ä¸æ å°±æ¯ä¸é¢ç表éæè¯´çæ°æ®åº, æ¯è¡çå¶ä½é¨åææå¦ä½æ¥æ¾. 对æ¯ä¸ªæ°æ®åºé½å¯ä»¥å嫿æå¶æ¥æ¾æ¹æ³.
æ¯ä¸ªæ°æ®åºçéç½®è§èåå«ä¸¤ä¸ªä¸åç项:
* æå¡è§è,
妑files’, ‘db’,
æè‘nis’.
*
å¯¹æ¥æ¾ç»æçååº,
妑[NOTFOUND=return]’.
卿NYSæ¯æçlibc5éå许æå¡è§è‘files’, ‘nis’å‘nisplus’,æ- ¤å¤ï¼è¿å¯ä»¥å¯¹hosts ææ‘dns’ 为é¢å¤æå¡, 对passwdågroup ææ‘compat’, ä½ä¸è½å¯¹shadowææ‘compat’.
å¨GNU C Libraryé, æ¯ä¸ªå¯ç¨çSERVICEé½å¿é¡»ææä»¶ /lib/libnss_SERVICE.so.1 ä¸ä¹å¯¹åº. 卿 åå®è£æ¶, å¯ä»¥ä½¿ç¨‘files’,‘db’, ‘nis’以å‘nisplus’. æ¤å¤, è¿å¯ä»¥å¯¹hosts ææ‘dns’ 为é¢å¤æå¡, 对passwd, group, shadow ææ‘compat’, è卿NYS æ¯æçlibc5ä¸, 䏿¯ææåä¸é¡¹æå¡.
说æä¸ç第äºé¡¹ä½¿ç¨æ·å¯ä»¥æ´å¥½å°æ§å¶æ¥æ¾è¿ç¨. Action项å¤äºä¸¤ä¸ªæå¡åä¹é´, 被æ¬å¼§æ¬ç, å¸¸è§æ ¼å¼å¦ä¸:
‘[’ ( ‘!’? STATUS ‘=’ ACTION )+ ‘]’
è¿é
STATUS => success | notfound | unavail | tryagain
ACTION => return | continue
对å³é®åç大å°å并䏿æ.
STATUSç弿¯è°ç¨æå®æå¡æ¥æ¾å½æ°çç»æ,
æä¹å¦ä¸:
success
没æé误åç, å¾å°æ³è¦çç»æ. 缺çaction毑return’.
notfound
æ¥æ¾é¡ºå©, 使¯æ²¡æå¾å°æè¦çç»æ. 缺çaction毑continue’.
unavail
æå¡æ°¸ä¹ä¸å¯ç¨. è¿å¯è½æå³çå¿è¦çæä»¶ä¸å¯ç¨, æè,DNS æå¡ä¸å¯ç¨æä¸å许æ¥è¯¢.缺ç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’ æå¡æä¾äºå®å¨ç+/-è¯æ³. æä»¬å¯ä»¥å¯¹ä¼ªæ°æ®åº passwd_compat, group_compat å shadow_compat ææ‘nisplus’æå¡æ¥è¦ç缺çæå¡‘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’ |
注æ NOTES
æ¯ä¸ªç¨å°äºnsswitch.conf æä»¶çè¿ç¨åªå®æ´å°è¯»ä¸æ¬¡æä»¶, å¦æè¯¥æä»¶åé¢è¢«æ¹åäº, è¿ç¨å°ä»ç¶ä½¿ç¨åæ¥çéç½®.
å¨Solaris ä¸, ä¸è½éæè¿æ¥ä½¿ç¨äºNSS Service çç¨åº, 使¯å¨Linux ä¸, 忝«æ é®é¢.
[䏿çç»´æ¤äºº]
<mapping@263.net>
[ä¸æçææ°æ´æ°]
2000.11.11
ãä¸å½linux论åmanæå页翻è¯è®¡åã:
http://cmpp.linuxforum.net
è·
æ¬é¡µé¢ä¸æçç±ä¸æ
man
æå页计åæä¾ã
䏿 man
æå页计åï¼https://github.com/man-pages-zh/manpages-zh