nsswitch之基本原理及getent命令

Authentication(认证)
    用户的用户名和密码是否能通过检验。

Authorizantion(授权)
    用户是否被允许访问服务或资源。


应用程序的名称解析流程:
    应用程序  --> nsswitch(配置文件(查询顺序)) --> 对应库文件 --> 解析库 --> 完成解析

NSS (Name Switch Serviers 名称解析服务)

nsswitch(network services switch 网络服务转换)
   中间层,本质上上是一些库文件。提供了为应用程序向不同的解析库进行名称解析的手段和顺序。

   注意:具体的解析过程是由对应的库文件完成。

    配置文件:
        /etc/nsswitch.conf
        格式如下:
            应用程序: 查询顺序1 [VALUE=ACTION] 查询顺序2  ...

        查询结果返回值VALUE:
            SUCCESS  服务正常,找到名称
            NOTFOUND 服务正常,没有找到名称
            UNAVAIL 服务不可用
            TRYAGAIN  服务有临时性故障

        查询结果动作ACTION:
            return 返回
            continue 继续

        查询结果的返回动作:
            默认情况下,一旦出现第一个SUCCESS,就直接return,否则就continue。

            手工指定返回动作:
                VALUE=ACTION

    库文件:
        /usr/lib/libnss*.so 不同查找方法对应的库文件

    /etc/protocols 网络和ip协议对应的端口表
    /etc/services  服务和协议对应的端口表



#getent [OPTION] LIB KEYWORD  从某个解析库LIB中获的条目。该命令可以检测nsswitch配置是否正确。
    [OPTION]

    例如:
        #getent hosts
        #getent passwd
        #getent passwd root
        #getent hosts www.test.com

你可能感兴趣的:(linux,nss,nsswitch,getent)