Linux自学笔记——nsswitch and pam
2017-12-21 13:29
357 查看
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、DNS
每种存储中的查找结果状态:
STATUS => success | not found | unavail | tryagain
对应与每种状态结果的行为(action):
return | continue
例子:
hosts: files nis [NOTFOUND=return] dns
getent命令:
getent DATABASE [key]
pam:pluggable authentication module
认证库:存储
多种类型的存储:文件、关系型数据管理系统、LDAP、NIS
pam:通用框架,提供了与各种类型存储进行交互的公共实现、以及多种辅助类的功能:
/lib64/security/*
配置文件:为各种调用了pam的应用提供其专用配置:
通用配置文件:/etc/pam.conf,可为每一种调用pam完成认证功能的应用程序提供配置;
专用配置文件:/etc/pam.d/*,通常专用于为某种特定的应用程序提供配置;
通常每个应用会使用一个单独的配置文件;
配置文件格式:
通用配置文件:
application type control module-path module-arguments
专用配置文件:
type control module-path module-arguments
type:检查的功能类别
auth:账号的认证和授权;
account:与账号管理相关的非认证类的功能;
password:用户修改密码时密码复杂度检查机制;
session:用户获取到服务之前或使用服务完成之后需要进行一些附加性操作;
control:同一种功能的多个检查之间如何进行组合;
两种实现机制:
1) 简单实现:使用一个关键词来定义2) 详细实现:使用一个或多个“status=action”简单实现:required:必须通过检查;否则,即为失败;无论成功还是失败,都需继续由后续同种功能的其它模块进行检查;requisite:一票否决;检测失败就直接返回失败;检测成功,由后续同种功能的其它模块进行检查;sufficient:一票通过,检测成功就直接返回成功;检测失败,则由后续同种功能的其它模块进行检查;optional:可选的,参考性控制机制;include;调用其他配置文件中的同种功能的检测机制; 详细实现:
[status1=action1,status2=action2,…]
status:返回状态
action:采取的行为,比如ok,done,die,bad,ignore,…
module-path:模块文件路径;
相对路径:相对于/lib64/security/目录而言;
绝对路径:可位于任何可访问路径;
Module-arguments:模块的专用参数;
模块示例:
pam_limits.so:资源限制
在用户级别实现对其可用的资源的限制,例如可打开的文件数量,可运行的进程数量,可用的内存空间;
修改限制的实现方式:
1) ulimits命令;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;ulimit命令;用于调整软限制: -n 最多的打开的文件描述符个数; -u 最大的用户进程数 -S 使用‘soft’(软)资源限制 -H 使用‘hard’(硬)资源限制
通用框架,与各种类型存储进行交互的公共实现;
实现:/usr/lib64/libnss*,/lib64/libnss*
框架:libnss
驱动:libnss_files-
为每一种用到解析库的应用通过配置定义其位置:
/etc/nsswitch.conf
db: store1 store2 …
例如:
passwd:files
hosts:files dns
解析库:
文件、关系型数据管理系统(mysql)、NIS、LDAP、DNS
每种存储中的查找结果状态:
STATUS => success | not found | unavail | tryagain
对应与每种状态结果的行为(action):
return | continue
例子:
hosts: files nis [NOTFOUND=return] dns
getent命令:
getent DATABASE [key]
pam:pluggable authentication module
认证库:存储
多种类型的存储:文件、关系型数据管理系统、LDAP、NIS
pam:通用框架,提供了与各种类型存储进行交互的公共实现、以及多种辅助类的功能:
/lib64/security/*
配置文件:为各种调用了pam的应用提供其专用配置:
通用配置文件:/etc/pam.conf,可为每一种调用pam完成认证功能的应用程序提供配置;
专用配置文件:/etc/pam.d/*,通常专用于为某种特定的应用程序提供配置;
通常每个应用会使用一个单独的配置文件;
配置文件格式:
通用配置文件:
application type control module-path module-arguments
专用配置文件:
type control module-path module-arguments
type:检查的功能类别
auth:账号的认证和授权;
account:与账号管理相关的非认证类的功能;
password:用户修改密码时密码复杂度检查机制;
session:用户获取到服务之前或使用服务完成之后需要进行一些附加性操作;
control:同一种功能的多个检查之间如何进行组合;
两种实现机制:
1) 简单实现:使用一个关键词来定义2) 详细实现:使用一个或多个“status=action”简单实现:required:必须通过检查;否则,即为失败;无论成功还是失败,都需继续由后续同种功能的其它模块进行检查;requisite:一票否决;检测失败就直接返回失败;检测成功,由后续同种功能的其它模块进行检查;sufficient:一票通过,检测成功就直接返回成功;检测失败,则由后续同种功能的其它模块进行检查;optional:可选的,参考性控制机制;include;调用其他配置文件中的同种功能的检测机制; 详细实现:
[status1=action1,status2=action2,…]
status:返回状态
action:采取的行为,比如ok,done,die,bad,ignore,…
module-path:模块文件路径;
相对路径:相对于/lib64/security/目录而言;
绝对路径:可位于任何可访问路径;
Module-arguments:模块的专用参数;
模块示例:
pam_limits.so:资源限制
在用户级别实现对其可用的资源的限制,例如可打开的文件数量,可运行的进程数量,可用的内存空间;
修改限制的实现方式:
1) ulimits命令;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;ulimit命令;用于调整软限制: -n 最多的打开的文件描述符个数; -u 最大的用户进程数 -S 使用‘soft’(软)资源限制 -H 使用‘hard’(硬)资源限制
相关文章推荐
- Linux自学笔记——grub应用
- 红帽&nbsp;LINUX&nbsp;6自学笔记第三章(1)&nbsp;…
- 红帽&nbsp;LINUX&nbsp;6自学笔记(…
- 【自学笔记】之LINUX入门的那些破事儿——awk入门
- Linux自学笔记(三)系统安装
- Linux自学笔记(七)常用命令之用户管理命令,压缩解压命令
- linux自学笔记--vim和文本三剑客基础
- Linux自学笔记——Linux周期性计划任务
- Linux自学笔记——Centos启动流程
- nsswitch & pam
- linux自学笔记(对day1的补充)
- linux command Line and shell script bible(笔记一)
- Linux自学笔记——sed命令
- 红帽&nbsp;LINUX&nbsp;6自学笔记第三章(2)&nbsp;…
- 红帽&nbsp;LINUX&nbsp;6自学笔记(…
- linux自学笔记--bash数据类型、循环和函数
- Linux自学笔记——httpd2.2基础配置
- linux 自学笔记 (十) 进程管理
- Linux自学笔记——linux进程及作业管理
- Linux C++ 自学笔记