nsswitch:名稱解析服務
App->nsswitch->resolve_lib
libnss
/etc/nsswitch.conf主配置文件
# Example:
#passwd: db files nisplus nis
#shadow: db files nisplus nis
#group: db files nisplus nis
passwd: files
shadow: files
group: files
#hosts: db files nisplus nis dns
hosts: files dns
# Example - obey only what nisplus tells us...
#services: nisplus [NOTFOUND=return] files
#networks: nisplus [NOTFOUND=return] files
#protocols: nisplus [NOTFOUND=return] files
#rpc: nisplus [NOTFOUND=return] files
#ethers: nisplus [NOTFOUND=return] files
#netmasks: nisplus [NOTFOUND=return] files
nisplus返回值:
SUCCESS service ok,found name 服務正常,並且轉到了值
NOTFOUND service ok,name not found 服務正常,名字沒有轉換到值
UNAVAAIL service not available 服務找不到,當UNACAAIL時 會找files
TRYAGAIN temporary service failure 臨時性故障,再試一次
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files
netgroup: nisplus
publickey: nisplus
automount: files nisplus
aliases: files nisplus
[root@localhost lib]# vim /etc/protocols
[root@localhost ~]# vim /etc/services
名稱解析服務:
nsswitch調用/usr/lib裏對應的庫文件進行解析
getent獲取nsswitch裏某個庫的所有條目
[root@localhost ~]# getent passwd
[root@localhost ~]# getent passwd root
root:x:0:0:root:/root:/bin/bash
[root@localhost ~]# getent hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@localhost ~]# getent hosts www.baidu.com 先到hosts裏找如果沒有再通過dns找
180.97.33.107 www.a.shifen.com www.baidu.com
180.97.33.108 www.a.shifen.com www.baidu.com