没有合适的资源?快使用搜索试试~ 我知道了~
首页详细的Linux-pam配置
详细的Linux-pam配置
4星 · 超过85%的资源 需积分: 14 39 下载量 48 浏览量
更新于2023-03-03
评论
收藏 42KB DOC 举报
详细的描述了linux-pam的配置,包括各个模块的配置,接口的配置。。。
资源详情
资源评论
资源推荐
PAM 最初是集成在 Solaris 中,目前已移植到其它系统中,如 Linux、SunOS、HP-UX 9.0
等。
一、PAM 的结构
PAM 的整个框架结构如下图所示:
系统管理员通过 PAM 配置文件来制定认证策略,即指定什么服务该采用什么样的认证方法;
应
用程序开发者通过在服务程序中使用 PAM API 而实现对认证方法的调用;而 PAM 服务模
块(se
rvice module)的开发者则利用 PAM SPI(Service Module API)来编写认证模块(主 要是
引出一些函数 pam_sm_xxxx( 供 libpam 调用),将不同的认证机制(比如传统的 UNIX 认
证方
法、Kerberos 等)加入到系统中;PAM 核 心库(libpam)则读取配置文件,以此为根据将
服
务程序和相应的认证方法联系起来。
二、PAM 支持的四种管理界面:
1、认证管理(authentication management)
主要是接受用户名和密码,进而对该用户的密码进行认证,并负责设置用户的一些秘密
信息。
2、帐户管理(account management)
主要是检查帐户是否被允许登录系统,帐号是否已经过期,帐号的登录是否有时间段的
限制等等。
3、密码管理(password management)
主要是用来修改用户的密码。
4、会话管理(session management)
主要是提供对会话的管理和记账(accounting)。
三、PAM 的文件:
/usr/lib/libpam.so.* PAM 核心库
/etc/pam.conf 或者/etc/pam.d/ PAM 配置文件
/usr/lib/security/pam_*.so 可动态加载的 PAM service module
对于 RedHat,其目录不是/usr/lib,而是/lib。
四、PAM 的配置:
PAM 的配置是通过单个配置文件/etc/pam.conf。RedHat 还支持另外一种配置方式,即通过
配
置目录/etc/pam.d/,且这种的优先级要高于单 个配置文件的方式。
1、使用配置文件/etc/pam.conf
该文件是由如下的行所组成的:
service-name module-type control-flag module-path arguments
service-name 服务的名字,比如 telnet、login、ftp 等,服务名字“OTHER”代表所有没有
在该文件中明确配置的其它服务。
module-type 模块类型有四种:auth、account、session、password,即对应 PAM 所支持的
四种管理方式。同一个服务可以调用多个 PAM 模块进行认证,这些模块构成一个 stack。
control-flag 用来告诉 PAM 库该如何处理与该服务相关的 PAM 模块的成功或失败情况。它
有四
种可能的 值:required,requisite,sufficient,optional。
required 表示本模块必须返回成功才能通过认证,但是如果该模块返回失败的话,失败
结果也不会立即通知用户,而是要等到同一 stack 中的所有模块全部执行完毕再将失败结果
返回给应用程序。可以认为是一个必要条件。
requisite 与 required 类似,该模块必须返回成功才能通过认证,但是一旦该模块返回
失败,将不再执行同一 stack 内的任何模块,而是直 接将控制权返回给应用程序。是一个
必
要条件。注:这种只有 RedHat 支持,Solaris 不支持。
sufficient 表明本模块返回成功已经足以通过身份认证的要求,不必再执行同一 stack
内的其它模块,但是如果本模块返回失败的话可以 忽略。可以认为是一个充分条件。
optional 表明本模块是可选的,它的成功与否一般不会对身份认证起关键作用,其返回
值一般被忽略。
对于 control-flag,从 Linux-PAM-0.63 版本起,支持一种新的语法,具体可参看 Linux
PAM 文档。
module-path 用来指明本模块对应的程序文件的路径名,一般采用绝对路径,如果没有给出
绝对路径,默认该文件在目录/usr/lib/security 下 面。
arguments 是用来传递给该模块的参数。一般来说每个模块的参数都不相同,可以由该模块
的开发者自己定义,但是也有以下几个共同 的参数:
debug 该模块应当用 syslog( 将调试信息写入到系统日志文件中。
no_warn 表明该模块不应把警告信息发送给应用程序。
use_first_pass 表明该模块不能提示用户输入密码,而应使用前一个模块从用户那里
得到的密码。
try_first_pass 表明该模块首先应当使用前一个模块从用户那里得到的密码,如果该
密码验证不通过,再提示用户输入新的密码。
use_mapped_pass 该模块不能提示用户输入密码,而是使用映射过的密码。
expose_account 允许该模块显示用户的帐号名等信息,一般只能在安全的环境下使用
,因为泄漏用户名会对安全造成一定程度的威 胁。
2、使用配置目录/etc/pam.d/(只适用于 RedHat Linux)
该目录下的每个文件的名字对应服务名,例如 ftp 服务对应文件/etc/pam.d/ftp。如果名为 x
xxx 的服务所对应的配置文件/etc/pam.d/xxxx 不存 在,则该服务将使用默认的配置文件/et
c/pam.d/other。每个文件由如下格式的文本行所构成:
module-type control-flag module-path arguments
每个字段的含义和/etc/pam.conf 中的相同。
3、配置的例子
例一:用/etc/pam.conf 配置默认的认证方式。
下面的例子将拒绝所有没有在/etc/pam.conf 中明确配置的服务。OTHER 代表没有明确配置
的
其它所有服务,pam_deny 模块的作用只是简 单地拒绝通过认证。
OTHER auth required /usr/lib/security/pam_deny.so
OTHER account required /usr/lib/security/pam_deny.so
OTHER password required /usr/lib/security/pam_deny.so
OTHER session required /usr/lib/security/pam_deny.so
例二:通过/etc/pam.d/rsh 文件配置 rsh 服务的认证方式。
rsh 服务认证用户时,先使用/etc/hosts.equiv 和.rhosts 文件的认证方式,然后再根据/etc
/nologin 文件的存在与否来判断是否允许该用户使用 rsh,最后使用 password database 来认
证用户。
auth required /lib/security/pam_rhosts_auth.so
auth required /lib/security/pam_nologin.so
account required /lib/security/pam_pwdb.so
session required /lib/security/pam_pwdb.so
例三:通过/etc/pam.conf 配置 ftpd 的认证方式。
下面是 ftpd 服务利用 PAM 模块进行用户认证的三个步骤。首先用 pam_ftp 模块检查当前用
户是
否为匿名用户,如果是匿名用户,则 sufficient 控制标志表明无需再进行后面的认证步骤,
直接通过认证;否则继续使用 pam_unix_auth 模块来进行标准的 unix 认证,即用/etc/ passw
d 和/etc/shadow 进行认证;通过了 pam_unix_auth 模块的认证之后,还要继续用 pam_listfil
e 模块来检查该用户是否出现在文件/etc/ ftpusers 中,如果是则该用户被 deny 掉。
ftpd auth sufficient /usr/lib/security/pam_ftp.so
ftpd auth required /usr/lib/security/pam_unix_auth.so use_first_pass
ftpd auth required /usr/lib/security/pam_listfile.so \
onerr=succeed item=user sense=deny file=/etc/ftpuser
s
五、密码映射(password-mapping)
剩余10页未读,继续阅读
goodluck7777
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- ExcelVBA中的Range和Cells用法说明.pdf
- 基于单片机的电梯控制模型设计.doc
- 主成分分析和因子分析.pptx
- 共享笔记服务系统论文.doc
- 基于数据治理体系的数据中台实践分享.pptx
- 变压器的铭牌和额定值.pptx
- 计算机网络课程设计报告--用winsock设计Ping应用程序.doc
- 高电压技术课件:第03章 液体和固体介质的电气特性.pdf
- Oracle商务智能精华介绍.pptx
- 基于单片机的输液滴速控制系统设计文档.doc
- dw考试题 5套.pdf
- 学生档案管理系统详细设计说明书.doc
- 操作系统PPT课件.pptx
- 智慧路边停车管理系统方案.pptx
- 【企业内控系列】企业内部控制之人力资源管理控制(17页).doc
- 温度传感器分类与特点.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2