科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道Linux安全小谈 (3)

Linux安全小谈 (3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

PAM是一套共享库,它提供了一个框架和一套编程接口,把认证工作从程序员那里转到ADMIN那里。

作者:51cto 2007年10月16日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

补上一篇作为对PAM机制的深入了解:
使用PAM进行统一身份的认证
PAM是PLUGGABLEAUTHENTICATIONMODULES的缩写.可插入的认证模块(并不是Linux指的模块)用于实现应用程序的认证机制,是程序员或管理员不需要重新编写或编译程序就可以改变认证机制.
在linux它已经被广泛的应用了,例如:/etc/securitty/etc/onlogin/etc/ftpusers实际上都是给它用的.你在登陆的时候的输入密码和你修改密码时也都用的是它./etc/pam.conf和/etc/pam/*都是它的配置文件.
它最大的优点是它的弹性和可扩充性.你可以随意修改认证机制,按你的实际需要来定制系统.你了解后就会非常清楚了.
DESIGNGOALS(设计目标)
(a)管理员可以选择认证方式,从简单的密码到智能卡系统.
(b)可以为不同的程序配置不同的认证机制.如使telnet使用S/Key认证.
而本机的login缺使用一般的UNIXpassword.
(c)支持程序的显示方式的需求.如login需要基于终端的显示,而dtlogin
需要X显示,而`ftp'和`telnet'需要透过网络来认证.
(d)支持为一个程序配置同时使用多种认证机制.
(e)可是用户在使用多种认证机制时,不必为同一个密码敲入多次.
(f)可是用户在认真时需要输入多个密码.
(g)当底层的认证机制改变时上层软件不需要修改.
(h)结构为systemauthentication提供一个_pluggable_model.
(i)必须能满足现有的服务需要.
4.OVERVIEWOFTHEPAMFRAMEWORK(纵览PAM的框架)其核心实际上是一些库函数.你写的应用程序要调用它们.PAM为你提供了一套入口(thefrontend).而这套函数互调用特定认证机制所定义的模块
(thebackend).
简单的说是这样的:你调用一个函数仅仅告诉它你要认正,这就足够了.至于用那一种机制来认证是由配置文件规定的.你只需要看一看返回值就知道认证是否成功了.对于开发应用程序的人来说只需要记住几个函数.
ftptelnetlogin(Applications)
|||
|||
+--------+--------+
|
+-----+-----+
|PAMAPI|<--pam.conffile
+-----+-----+
|
+--------+--------+
UNIXKerberosSmartCards(Mechanisms)

Figure1:基本的PAM结构PAM的功能被分为四个部分:(1)authentication(认证),(2)account(账号管理),(3)session(对话管理),和(4)password(密码管理).这四个东东都是什么呢?
(a)Authenticationmanagement:
包括`pam_authenticate()'来认证用户,`pam_setcred()'来设置刷新和销毁用户的credentials.
(b)Accountmanagement:
包括`pam_acct_mgmt()'来检查用的账号是否还有效.可以被用来检查用户是否超时或账号是否过期.
(c)Sessionmanagement:
包括`pam_open_session()'和`pam_close_session()'用于对话过程的管理.例如:可以用来纪录用户的连接时间.一次telnet过程实际上也是一个session.
(d)Passwordmanagement:`pam_chauthtok()'用来修该密码.
程序通过调用
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章