Linux下的USB Key的工作原理是通过USB闪盘和pam_usb软件共同构建的。pam_usb是一个开放源代码软件项目。首先读者需要对PAM有所了解, PAM全称是Pluggable Authentication Module (嵌入式认证模块)。它最初由Sun公司开发,很快被Linux社区接受,并且开发了更多的模块。其目标是提供一套可用于验证用户身份的函数库,从而将认证从应用程序开发中独立出来。Linux-PAM处理四种独立的(管理)工作。它们是:认证管理、账号管理、会话期间管理和密码管理。可插入的认证模块用于实现应用程序的认证机制,使程序员或管理员不需要重新编写或编译程序就可以改变认证机制。
PAM模块详述
可以将PAM认为是这样的工具:它将应用程序从认证的重任中释放出来,包括可以让某个应用程序使用多个认证机制。下面的代码是一个标准的PAM应用于rlogin(远程登录)的代码:
auth required /lib/security/pam_securetty.so
auth sufficient /lib/security/pam_rhosts_auth.so
auth required /lib/security/pam_stack.so service=system-auth
auth required /lib/security/pam_nologin.so
account required /lib/security/pam_stack.so service=system-auth
password required /lib/security/pam_stack.so service=system-auth
session required /lib/security/pam_stack.so service=system-auth
|
每一行包括以下内容:module-type(模块类型)、control-flag(控制字)、module-path(模块路径)、module-args(模块参数)。对于以上四个选项,这里我们主要介绍module-type(模块类型)和control-flag(控制字),见表1、表2。在Redhat Linux中模块路径存储在lib/security目录下。
建立pam_usb应用
<<上一页
1
2