Linux之nsswitch and pam

2016-03-07  本文已影响1761人  魏镇坪

nsswitch简介

nsswitch全称为: network service switch,其是一个通用框架,与各种类型存储交互的公共实现,实现名称解析服务. 例如: 用户名到ID,或者ID到用户名,再或者IP到域名的查找方式. nsswitch加载了各存储的api接口,并以模块方式装载进nsswitch中,当程序发起nsswitch的api调用时,ns会自动完成到各存储中查找内容.

nsswitch的各种与存储连接的模块

libnss_files-2.17.so库文件就是实现查找文件时, 其应该调用的库文件

nsswitch的配置文件

解析库的类型:

查找结果的状态

示例:
hosts:  files nis[notfound=return] dns

只要nis服务存在,就会执行return,只有nis服务不可用的时候, 才会再找dns服务

getent命令

从nisswitch库中查找记录

示例:
getent passwd root : 到/etc/passwd文件中查找root用户,并返回文件中的记录
getent passwd 0 : 到/etc/passwd文件中查找ID为0的用户,并返回文件中的记录

========

pam简介

pam,全称为:pluggable authentication module,其提供了完成认证功能,并提供认证库. 支持各种类型存储,如文件,关系型数据库管理系统,LDAP,NIS等. pam也是一个通用框架,提供了各种类型存储进行交互的公共实现,以及多种辅助类功能.pam以应用程序为中心, 并为应用程序提供认证服务.

pam的相关文件

pam模块通用配置文件的格式

application     type    control     module_path     module_argument

pam模块专用配置文件的格式

type    control     module_path     module_argument

模块配置示例一:

pam_limits.so(资源限制)

在用户级别实现对其使用的资源的限制,例如:可打开的文件数量,可运行的进程数量,可用内存空间,修改限制的实现方法:

模块配置示例二:

pam_time.so(实现用户登陆时间限制)

模块配置示例三:

pam_listfile.so(实现组中的用户进行时间登陆限制)

PAM工作原理图

img
上一篇下一篇

猜你喜欢

热点阅读