做内容网站 用什么模版,网站建设咨询电话,快速网站建设多少钱,有关网站开发的知识PAM只关注如何为服务验证用户的API#xff0c;通过提供一些动态链接库和一套统一的API#xff0c;将系统提供的服务和该服务的认证方式分开 PAM提供了对所有服务进行认证的中央机制#xff0c;适用于本地登陆#xff0c;远程登陆#xff0c;系统管理员通过PAM配置文件来定…PAM只关注如何为服务验证用户的API通过提供一些动态链接库和一套统一的API将系统提供的服务和该服务的认证方式分开 PAM提供了对所有服务进行认证的中央机制适用于本地登陆远程登陆系统管理员通过PAM配置文件来定制不同应用程序的不同认证策略。
PAM相关文件
包名pam 模块文件目录/lib64/security/*.so 特定模块相关的设置文件/etc/security 应用程序调用PAM模块的配置文件 主配置文件/etc/pam.conf 一般不使用主配置 为每种应用模块提供一个专用的配置文件/etc/pam.d/APP_NAME 注若/etc/pam.d存在/etc/pam.conf将失效
查看程序是否支持PAM
ldd which sshd | grep libpam
ldd命令
ldd命令全称为list dynamic dependencies列出动态依赖。它可以用来显示一个可执行文件或者共享库动态链接库所依赖的共享库。 命令格式ldd [选项] 可执行文件或共享库 输出 文件路径正常找到并链接。 not found未找到该库文件。 version mismatch版本不匹配。 incompatible与可执行文件或其他库不兼容。 symbol not found找不到某个符号。
PAM工作原理
PAM认证一般遵循这样的顺序Service(服务)-PAM(配置文件)-pam_*.so PAM认证首先要确定哪一项服务然后加载相应的PAM的配置文件位于/etc/pam.d下最后调用认证文件进行安全认证(位于/lib64/security)
PAM配置文件格式说明
配置文件格式
通用配置文件/etc/pam.conf格式此格式不使用 application type control module-path arguments 专用配置文件/etc/pam.d格式 type control module-path arguments 注修改PAM配置文件将马上生效
说明
application:服务名
type:模块类型
controlPAM该如何处理与该服务相关的PAM模块的成功或失败情况
required一票否决表明本模块必须返回成功才能通过认证若失败则等同一type中的所有模块全部执行完毕再将失败结果返回给应用程序 requisite一票否决该模块必须返回成功才能通过认证若失败则不再则同一type中所有模块不再执行 sufficient一票通过表明本模块返回成功则通过身份认证的要求不必再执行同一type内的其他模块但返回失败则忽略优先于required和requisite optional表明模块是可选的他的成功与否不会对身份认证起关键作用 include调用其他的配置文件中定义的配置信息
module-path本模块对应的程序文件的路径名
Auth账号的认证和授权 Account账户的有效性与账号管理相关的非认证类的功能 Password用户修改密码时密码复杂度检查机制等功能 Session用户会话期间的控制 -type表示因为缺失而不能加载的模块将不记录到系统日志
Arguments用来传递给模块的参数
debug该模块应当用syslog将调试信息写入到系统日志文件中 no_warn表明该模块不应把警告信息发送给应用程序 use_first_pass:该模块不能提示用户输入密码只能从前一个模块的到输入密码 try_first_pass:该模块首先用一个模块从用户的到密码如果该密码验证不能通过再提示用户输入新密码 use_mapped_pass该模块不能提示用户输入密码而是使用映射过的密码 expose_account:允许该模块显示用户的账号名等信息一般只能在安全的环境下使用
常用PAM模块
pam模块文档说明:/usr/share/doc/pam-*
pam_nologin.so模块 功能如果/etc/nologin文件存在将导致非root用户不能登陆当该用户登陆时会显示/etc/nologin文件内容并拒绝登陆 pam_limits.so模块 功能在用户级别实现对其可使用的资源的限制 pam_google_authenticator模块 功能实现SSH登陆的两次身份验证先验证APP的数字码在验证root用户的密码都通过才可登陆
ulimit命令
ulimit是linux shell的内置命令它具有一套参数集用于对shell进程及其子进程进行资源限制 ulimit的设定值是per-process每个进程有自己的limits值 使用ulimit进行修改立即生效 ulimit只影响shell进程及其子进程用户登出后失效可以在profile中加入ulimit的设置做到永久生效
配置文件
pam_limit的设定基于per-process的 /etc/security/limits.conf /etc/security/limits.d/*.conf
配置文件格式 domain type item value 说明 应用于对象 Username 单个用户 group组内所有用户 *所有用户 %仅用于限制maxlogins limit
限制的类型 soft 软限制普通用户自己可以修改 Hard 硬限制由root用户设定仅通过kernel强制生效 - 二者同时限定
限制的资源 nofile 所能够同时打开的最大文件数量 nproc 所能够同时运行的进程的最大数量