[ZT]使用 PAM 进行身份认证

本文介绍了Linux系统中使用PAM进行身份验证的相关知识,包括PAM的原理、配置以及在不同服务中的应用。同时,文章还提到了一些常见的系统管理问题,如Linux服务端口、shell基础知识、Linux内核的socket问题以及线程保护等。
摘要由CSDN通过智能技术生成
北京东城区朝阳门北大街8号
富华大厦A座4层诺方信业 Bricks

---- 可插拔的认证模块(Pluggable Authentication Modules,即PAM)技术用于实现应用程序的认证机制。在 PAM出现之前,认证工作是由程序员来完成的,如果管理员需要改变认证的方式只有通过修改源程序才能完成。PAM 的出现彻底改变了这种局面,它提供了一个框架和一套编程接口,并且基于PAM应用程序的认证过程是通过配制文件来定义的,这样不仅将决定权交给了管理员,而且大大提高了使用灵活性。

----目前,PAM 技术已广泛应用于各种Unix系统,Linux中也使用了它。

一、PAM 的体系结构
---- 1.PAM的特点
---- 管理员可以选择从简单的密码到智能卡系统的认证方式,还可以为不同的程序配置不同的认证机制。PAM支持程序显示方式的需求,也支持为一个程序配置同时使用多种认证的机制。PAM让用户在使用多种认证机制时,不用为同一个口令敲入多次,并且还可在认证时输入多个口令,特别是当底层认证机制改变时,上层软件不需要修改;此外,PAM 提供一个可插拔的模型,能满足现有服务的需要。

----2.PAM的框架

---- PAM的核心实际上是一些库函数。PAM为用户提供一套调用应用程序的入口,即如果用户调用一个函数,告诉它您要认证即可,至于用哪一种机制认证由配置文件确定。用户通过查看返回值了解认证是否成功。

---- PAM有认证管理、账号管理、对话管理和密码管理4项功能。

---- 下面我们通过实例看看用PAM如何配置用户系统。

  /etc/pam.d/login
  #模块类型  控制标志  模块的名字   选项
#------- -  --
   auth  required    /lib/security/pam_securetty.so
   auth   required    /lib/security/pam_pwdb.so   shadow nullok
   auth   required    /lib/security/pam_nologin.so
 
account required  /lib/security/pam_pwdb.so
password  required  /lib/security/pam_cracklib.so
password required  /lib/security/pam_pwdb.so   nullok use_authtok shadow md5
sessionrequired  /lib/security/pam_pwdb.so
session optional  /lib/security/pam_console.so

---- 一个模块类型可以指定多个模块,通过依次被调用来验证用户的身份,这种工作方式叫做 Stacked Modules (堆迭模块)。上例中的 “控制标志”是指更改模块的工作方式。它可取的值如下:

---- required:必须的,该模块的认证必须通过,否则立即返回错误。

---- optional:可选的,表示可以忽略它的错误而继续下面一个模块。

---- sufficient:足够的,表示如果该模块认证成功,下面的模块不用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值