当前位置:Linux教程 - Linux - 常见的PAM认证模块简介(3)

常见的PAM认证模块简介(3)

19.pam_rhosts_auth认证模块

所属类型: auth

功能描述:该模块为标准的网络服务(诸如rlogin、rsh)提供认证。

可带参数:请参考PAM文档说明

20.pam_rootok认证模块

所属类型: auth

功能描述:使用该模块具有很大的安全风险,该模块的唯一功能就是让uid为0的用户不需输入密码就可以登录系统。

可带参数:无

21.pam_securetty认证模块

所属类型: auth

功能描述:该模块用来控制root用户只可以从包含在/etc/securetty文件中的终端登录系统。

22.pam_shell认证模块

所属类型: auth

功能描述:如果用户的shell在/etc/shells中列出,则允许用户进行验证,如果/etc/passwd中没有指定shell,则缺省使用/bin/sh.

23.pam_time认证模块

所属类型: account

功能描述:对用户访问服务提供时间控制,也就是说,用来控制用户可以访问服务的时间,配置文件为:/etc/security/pam.conf。

可带参数:无

配置文件说明:
每一行的构成语法如下:
services; ttys; users; times
services:服务名称
ttys:规则生效的终端名,可以*号表示任何终端,!表示非。
users:规则作用的用户,可以*号表示任何用户,!表示非。
times:指定时间,通常使用日期时间格式。用两个字母指定日期,比如MoTuSa就是指星期一星期二和星期六。注意重复的部分将被排除在外,比如MoTuMo就指星期二,MoWk指除了星期一以外的每一天。两个字母的组合有:
Mo Tu We Th Fr Sa Su Wk Wd Al
Mo到Su分别指从星期一到星期天,Wk指每一天,Wd指周末,Al也指每一天。
采用24小时制指定时间,也即采用HHMM的形式。比如Mo1800-0300就是每个星期一的下午6点到第二天的凌晨3点。

24.pam_unix认证模块

所属类型: account; auth; password; session

功能描述:该模块是标准UNIX认证模块pam_unix的替代模块。

在作为auth类型使用时,此时该模块可识别的参数有debug、audit、use_first_pass、try_first_pass、nullok、nodelay,主要功能是验证用户密码的有效性,在缺省情况下(即不带任何参数时),该模块的主要功能是禁止密码为空的用户提供服务;

在作为account类型使用时,此时该模块可识别的参数有debug、audit,该模块主要执行建立用户帐号和密码状态的任务,然后执行提示用户修改密码,用户采用新密码后才提供服务之类的任务;

在作为password类型使用时,此时该模块可识别的参数有debug、 audit、 nullok;、not_set_pass、use_authtok、try_first_pass、use_first_pass、md5、bigcrypt、shadow、nis、
remember,该模块完成让用户更改密码的任务;

在作为session类型使用时,此时该模块没有可识别的参数,该模块仅仅完成记录用户名和服务名到日志文件的工作。

可带参数:
debug:将调试信息写入日志
audit:记录更为信息的信息
nullok:缺省情况下,如果用户输入的密码为空,则系统能够不对其提供任何服务。但是如果使用参数,用户不输入密码就可以获得系统提供的服务。同时,也允许用户密码为空时更改用户密码。
nodelay:当用户认证失败,系统在给出错误信息时会有一个延迟,这个延迟是为了防止
黑客猜测密码,使用该参数时,系统将取消这个延迟。通常这是一个1秒钟的延迟。
try_first_pass:在用作auth模块时,该参数将尝试在提示用户输入密码前,使用前面一个堆叠的auth模块提供的密码认证用户;在作为password模块使用时,该参数是为了防止用户将密码更新成使用以前的老密码。
use_first_pass:在用作auth模块时,该参数将在提示用户输入密码前,直接使用前面一个堆叠的auth模块提供的密码认证用户;在作为password模块使用时,该参数用来防止用户将密码设置成为前面一个堆叠的password模块所提供的密码。
no_set_pass:使密码对前后堆叠的password模块无效。
use_authok:强制使用前面堆叠的password模块提供的密码,比如由pam_cracklib模块提供的新密码。
md5:采用md5对用户密码进行加密。
shadow:采用影子密码。
unix:当用户更改密码时,密码被放置在/etc/passwd中。
bigcrype:采用DEC C2算法加密用户密码。
nis:使用NIS远处过程调用来设置新密码。
remember=x:记录x个使用过的旧密码,这些旧密码以MD5方式加密后被保存在/etc/security/opasswd文件中。
broken_shadow:在作为account使用时,该参数用来忽略对影子密码的读错误。
likeauth:未知。

配置实例:
参考/etc/pam.d/system-auth

25.pam_userdb认证模块

所属类型: auth

功能描述:使用该模块允许您通过一个Berkeley数据库来验证用户,假如您使用这种数据库来保存用户信息的话。

可带参数:
debug:将调试信息写入日志
icase:忽略密码大小写
dump:将数据库中的所有条目记录在日志文件中,有安全隐患。
db=filename:指定数据库文件的完整路径。
use_authok:强制使用前面堆叠的auth模块提供的密码。
unknown_ok:当数据库中没有用户信息时,不返回错误。

配置实例:
#%PAM-1.0
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth sufficient pam_userdb.so icase db=/tmp/dbtest
auth required pam_pwdb.so shadow nullok try_first_pass
auth required pam_shells.so
account required pam_pwdb.so
session required pam_pwdb.so

26.pam_warn认证模块

所属类型: auth,password

功能描述:记录服务、终端名、用户名、远程主机等信息到日志文件。

27.pam_stack认证模块

所属类型: auth,account, password,session

功能描述:该模块可以用来实现pam认证的递归调用。

可带参数:
debug:将调试信息写入日志
service=name:指定调用的配置文件。

配置实例:
参考/etc/pam.d/login