nsswitch与pam的区别:
1.nsswitch是名称解析框架服务
-
本质上上是一些库文件
-
例如: 用户名到ID,或者ID到用户名,再或者IP到域名的查找方式.
-
作用:承上启下;
承上:提供统一的配置和调用接口;
启下:用户与各种形式的存储进行交互
2.pam是认证框架服务
- 在Linux中进行身份或是状态的验证程序是由PAM来进行的
- 是一套共享库,使本地系统管理员可以随意选择程序的认证方式。换句话说,不用(重新编写)重新编译一个包含PAM功能的应用程序,就可以改变它使用的认证机制,这种方式下,就算升级本地认证机制,也不用修改程序。
3.二者都是一个通用框架,是两套各自独立运行的机制
-
名称解析:将人类使用的自然语言的符号转换成计算机能够使用的数字符号
-
通用框架:为应用程序提供简洁高效的接口;
-
应用程序的名称解析流程:
应用程序 --> nsswitch(配置文件(查询顺序)) --> 对应库文件 --> 解析库 --> 完成解析
-