您的位置:首页 > 其它

nsswitch&PAM认证框架

2016-01-25 16:59 260 查看
一、nsswitch概述 1.nsswitch:network/name service switch nsswitch网路名称服务解析是通用框架,与各种类型存储进行交互的公共模块化实现;实现:/usr/lib64/libnss*,/lib64/libnss*框架模块:libnss;驱动模块:libnss_files- 2.配置文件:/etc/nsswitch.conf (1)格式 为每一种用到解析库的应用通过配置定义其位置,格式======解析库: store1 store2 …======= 解析库可以为文件、关系型数据管理系统(MySQL)、NIS、LDAP、DNS例如:passwd: files 密码通过文件解析 hosts: files dns hosts通过文件解析,若没有再通过dns解析 (2)查找结果和状态 每种种存储中的查找结果状态:STATSU => success | notfound | unavail | tryagain 对应于每种状态结果的行为(action):return| continue例子:hosts:files nis [NOTFOUND=return] dns 3.getent命令:get entries,从指明库中查找指定名称 getent DATABASE [key] 二、PAM概述 1.pam:pluggableauthenticationmodule,可插入式认证模块 通用框架,提供了与各种类型存储进行交互的公共实现、以及多种辅助类的功能:/lib64/security/* 提供认证库有多种类型的存储:文件、关系型数据管理系统、LDAP、NIS… ...

2.配置文件: (1)为各种调用了pam的应用提供其专用配置 通用:/etc/pam.conf,可为每一种调用pam完成认证功能的应用程序提供配置; 专用:/etc/pam.d/*,通常专用于为某种特定的应用程序提供配置;通常每个应用会使用一个单独的配置文件; (2)配置文件格式通用配置文件:application type control module-path module-arguments专用配置文件:type control module-path module-arguments 3.配置文件格式详解 (1)type:检查的功能类别 可能使用一个或者多个进行限定认证
auth账号的认证和授权;
account与账号管理相关的非认证类的功能;
password用户修改密码时密码复杂度检查机制;
session用户获取到服务之前或使用服务完成之后需要进行一些附加性操作;
(2)control:同一种功能的多个检查之间如何进行组合; 1)简单实现:使用一个关键词来定义控制 required:必须通过检查;否则,即为失败;无论成功还是失败,都需继续由后续同种功能的其它模块进行检查; requisite:一票否决;检测失败就直接返回失败;检测成功,则由由后续同种功能的其它模块进行检查; sufficient:一票通过,检测成功就直接返回成功;检测失败,则由由后续同种功能的其它模块进行检查; optional:可选的,参考性控制机制; include:调用其它配置文件中的同种功能的检测机制; 2)详细实现:使用一个或多个“status=action”[status1=action1,status2=action2, ...]status:返回状态action:采取的行为,比如ok,done, die, bad, ignore, ... (3)module-path:模块文件路径; 相对路径:相对于/lib64/security/目录而言; 绝对路径:可位于任何可访问路径; (4)module-arguments:模块的专用参数; 三、pam_limits.so:资源限制 1.pam_linits.so 在用户级别实现对其可使用的资源的限制,例如可打开的文件数量,可运行的进程数量,可用内存空间; 2.修改限制的实现方式: (1)ulimit命令:用于调整软限制; -n 最多的打开的文件描述符个数 -u 最大用户进程数 -S 使用 `soft'(软)资源限制 -H 使用 `hard'(硬)资源限制 (2)配置文件:/etc/security/limits.conf,/etc/security/limits.d/*.conf 配置文件:每行一个定义; 格式:<domain> <type> <item> <value><domain>:应用于哪些对象username@group*:所有用户<type>:限制的类型soft:软限制,普通用户自己可以修改;hard:硬限制,由root用户设定,且通过kernel强制生效;-:软硬使用相同限制;<item>:限制的资源类型nofile:所能够同时打开的最大文件数量;默认为1024;nproc:所能够同时运行的进程的最大数量;默认为1024;本文出自 “许鼎的博客” 博客,请务必保留此出处http://xuding.blog.51cto.com/4890434/1738352
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: