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

时间: 2024-08-25 16:40:13

nsswitch之基本原理及getent命令的相关文章

linux 之getent命令

昨天在一个视频上看到getent命令, 可以用来察看系统的数据库中的相关记录,例如: [email protected]:~$ getent hosts guoliangc10.10.3.1       guoliangc [email protected]:~$ getent passwd mysqlmysql:x:1003:1003::/home/mysql:/bin/sh 即使这写数据库不是在本地,比如ldap或者nis中的数据库, 也可以使用getent察看. getent --help

Git 基本原理与常用命令

平时使用过两种版本控制软件 SVN 和 Git,平心而论,如果纯粹自己使用,那么绝对 Git 更加适合,本地库.远程库.离线工作.强大而灵活的分支.大名鼎鼎的Github, 这些都是选择 Git 的原因.记得刚接触时Git,感觉 Git 如此强大,再加上其是由大名鼎鼎的 Linus 所编写,所以花了很多的时间看各种资料,不过后来那些不常用的命令与功能还是仅仅停留在知道与了解的层面.Git 只是一种工具,是为了满足某种需求而被编写出来的一种工具,对于工具做到善加利用即可.当然,要做到善加利用,一定

X权限 gpasswd getent 命令详解

X权限的作用: 给目录添加X权限后,该目录下的子目录会添加x权限,该目录下的文件如果之前没有x权限,则不添加x权限,如果之前有1个x权限,则添加到3个x权限. 例: -rw-r--r--. 1 root root 0 8月   3 09:57 abc -rwxr--r--. 1 root root 0 8月   3 09:58 bbb      #在目录2下创建abc,bbb文件和dfg目录 drw-r--r--. 2 root root 6 8月   3 09:58 dfg [[email p

OSPF的基本原理及配置命令

一.OSPF OSPF基本原理以及邻居关系建立过程OSPF是一种链路状态型路由选择协议.它依靠5种(Hello, DBD, LSR, LSU and LSAck)不同种类的数据包来识别.建立和维护邻居关系.当路由器接收到来自邻居的链路状态信息后,会建立一个链路状态数据库:然后根据该链路状态数据库,采用SPF算法确定到各目的地的最佳路径:最后将最佳路径放到它的路由表中,生成路由表.一.在路由器上配置单域的OSPF1.如下基本配置:(1)配置端口IP地址以RTA路由器的配置为例:RTA(config

路由器的基本原理与配置命令(静态路由和默认路由)

路由器工作在OSI参考模型的网络层,它的重要作用是为数据包选择最佳路径,最终送达目的地.那么路由器是怎样选择路径的呢?如果主机A要和主机B通信,就需要一种方法判断源主机和目标主机所经过的最佳路径,从而进行数据转发,这就是路由技术. 路由器的工作原理 路由器是如何进行数据转发的呢?就像我们去一个地方,他的脑子里一定会有一张地图,在每个路由器的内部也有一张地图,这张地图就是路由表.在路由表中,包含了每个路由器所掌握的所有目的地的网络地址,以及通过此路由器到达这些网络的最佳路径.这个最佳路径是指路由器

nsswitch&PAM认证框架

一.nsswitch概述 1.nsswitch:network/name  service  switch nsswitch网路名称服务解析是通用框架,与各种类型存储进行交互的公共模块化实现: 实现:/usr/lib64/libnss*,/lib64/libnss* 框架模块:libnss:驱动模块:libnss_files- 2.配置文件:/etc/nsswitch.conf (1)格式 为每一种用到解析库的应用通过配置定义其位置,格式======解析库: store1  store2  -=

nsswitch && pam

nsswitch & pam: nsswitch: name service switch名称服务解析 名称解析:用户名.组名.主机名.服务名.... 解析:根据已知的信息(key)查找某存储库,获取其它信息的过程: 存储:文件.SQL.NoSQL.LDAP.dns... 文件系统接口:系统调用 SQL: NoSQL: 通用框架,承上启下 启下:用于与各种存储进行交互: 承上:提供统一的配置和调用接口: 实现:库的形式存在 /usr/lib64/libnss*,/lib64/libnss* 框架

tcp_wrapper、sudo、nsswitch、pam

下面介绍的是服务与安全管理的tcp_wrapper.sudo.nsswitch.pam 一.tcp_wrapper 1.tcp_wrapper基础 --------------------tcp封装器 tcp_wrapper依赖的库文件:libwrap.so (1).判断是否受tcp_wrapper访问控制:动态链接(libwrap.so库文件).静态链接(strings命令) 动态链接至libwrap.so库的应用程序:# ldd /PATH/TO/APP_FILE | grep libwra

Linux自学笔记——nsswitch and pam

nsswitch:name service switch 通用框架,与各种类型存储进行交互的公共实现: 实现:/usr/lib64/libnss*,/lib64/libnss* 框架:libnss 驱动:libnss_files- 为每一种用到解析库的应用通过配置定义其位置: /etc/nsswitch.conf db: store1   store2  - 例如: passwd:files hosts:files   dns 解析库: 文件.关系型数据管理系统(mysql).NIS.LDAP.