1.

    在linux中,一般使用/etc/passwd,/etc/shadow,/etc/group提供用户登陆的密码认证

2.

    其实,也可以把密码等用户信息保存在nis,mysql等非文件中

3.

    因此,为了提供同一的调用,产生了nsswitch,介于登录与认证数据之间

    

    nsswitch: Network Service Switch

    提供一切名称解析,用户名,组名,主机名到对应的uid,gid,ip等等。

    框架:/etc/passwd, /etc/shadow, /etc/group

    库:libnss_file.so    ==>    使用传统的/etc/passwd, /etc/shadow, /etc/group信息

        libnss_nis.so

        libnsss_ldap.so

        libnsss_mysql.so  ==>    使用mysql存储用户认证信息

    配置文件: /etc/nsswitch.conf

        配置文件相应的修改需要使用的库,以对应不同的。比如使用传统的/etc/passwd,             /etc/shadow, /etc/group信息,就修改为使用libnss_file.so

4.

    其中/etc/nsswitch.conf有下面的一行内容:

    hosts:    files    dns

    就是说先使用/etc/hosts文件解析主机名。