中国IT论坛's Archiver

水墨山林 发表于 2010-6-28 17:07

常见的PAM模块

[font=SimSun][size=10pt]概述:本文介绍常见的PAM认证模块,包括每一个模块的所属类型、功能描述以及可识别的参数,有配置文件的,我们给出了配置文件的简单说明,其中一部分模块,我们还给出了配置实例。希望通过我们的介绍,使读者对常用的PAM认证模块有一定的了解。本文的介绍是基于RedHat7.x系统。水平有限,不足之处请读者批评指正。 [/size][/font]
[font=SimSun][size=10pt]1.pam_access认证模块 [/size][/font]
[font=SimSun][size=10pt]所属类型:account [/size][/font]
[font=SimSun][size=10pt]功能描述:该模块提供基于登录用户名、客户ip/主机名、网络号以及登录终端号的访问控制。缺省的,该模块的配置文件是/etc/security/access.conf,可以使用accessfile参数指定自定义的配置文件。 [/size][/font]
[font=SimSun][size=10pt]可带参数:accessfile=/path/to/file.conf [/size][/font]
[font=SimSun][size=10pt][b]配置文件说明:[/b] 该文件的每一行由如下三个字段构成,中间使用冒号分割: 权限 : 用户 : 来源 [/size][/font]
[font=SimSun][size=10pt]“权限字段”可以是”+”(即允许访问),”-”(禁止访问); [/size][/font]
[font=SimSun][size=10pt]“用户字段”可以是用户名、组名以及诸如user@host格式的用户名,ALL表示任何人,具有多个值时,可以用空格分开。 [/size][/font]
[font=SimSun][size=10pt]“来源字段”可以是tty名称(本地登录时)、主机名、域名(以”.”开始),主机ip地址,网络号(以”.”结束)。ALL表示任何主机,LOCAL表示本地登录。可以使用EXCEPT操作符来表示除了…之外。 [/size][/font]
[font=SimSun][size=10pt]配置实例:只有bye2000可以从本地登录主机。 编辑/etc/pam.d/login如下所示: #%PAM-1.0[/size][/font]
[font=SimSun][size=10pt]
auth required /lib/security/pam_securetty.so [/size][/font]
[font=SimSun][size=10pt]auth required /lib/security/pam_stack.so service=system-auth [/size][/font]
[font=SimSun][size=10pt]auth required /lib/security/pam_nologin.so [/size][/font]
[font=SimSun][size=10pt]account required /lib/security/pam_stack.so service=system-auth [/size][/font]
[font=SimSun][size=10pt]account required /lib/security/pam_access.so [/size][/font]
[font=SimSun][size=10pt]password required /lib/security/pam_stack.so service=system-auth [/size][/font]
[font=SimSun][size=10pt]session required /lib/security/pam_stack.so service=system-auth [/size][/font]
[font=SimSun][size=10pt]session optional /lib/security/pam_console.so [/size][/font]
[font=SimSun][size=10pt]也即加上 account required /lib/security/pam_access.so [/size][/font]
[font=SimSun][size=10pt]然后在/etc/security/access.conf中加上: [/size][/font]
[font=SimSun][size=10pt]-:ALL EXCEPT bye2000 : LOCAL [/size][/font]
[font=SimSun][size=10pt]假如禁止root以外的任何人从任何地方登录,可以在/etc/security/access.conf中加上: [/size][/font]
[font=SimSun][size=10pt]-:ALL EXCEPT root: ALL [/size][/font]
[font=SimSun][size=10pt]2.pam_chroot认证模块 [/size][/font]
[font=SimSun][size=10pt]所属类型:account, session, auth [/size][/font]
[font=SimSun][size=10pt]功能描述:该模块为一般用户提供一个虚根环境,该模块的配置文件是/etc/security/chroot.conf。 [/size][/font]
[font=SimSun][size=10pt]可带参数: debug:将调试信息写入日志 onerr:定义当配置文件无法打开、chroot()函数失败以及配置文件中没有用户信息时的动作,缺省为”succeed”。 [/size][/font]
[font=SimSun][size=10pt]附加说明:该模块文档不全,没有对chroot.conf的相关配置说明。 [/size][/font]
[font=SimSun][size=10pt]3.pam_cracklib认证模块 [/size][/font]
[font=SimSun][size=10pt]所属类型:password [/size][/font]
[font=SimSun][size=10pt]功能描述:该模块对用户密码提供强健性检测。换句话说,您可以定义用户密码的方方面面,比如密码长度、密码的复杂程度等等。 [/size][/font]
[font=SimSun][size=10pt]可带参数: debug:将调试信息写入日志 [/size][/font]
[font=SimSun][size=10pt]type=xxx:添加/修改密码时,系统的缺省提示符是” New UNIX password:”以及” Retype UNIX password:”,使用该参数可以自定义提示符中的UNIX,比如指定type=your. [/size][/font]
[font=SimSun][size=10pt]retry=N:定义添加/修改密码失败时,可以重试的次数。 [/size][/font]
[font=SimSun][size=10pt]Difok=N:定义新密码中必须有几个字符要与旧密码不同。但是如果新密码中有1/2以上的字符与旧密码不同时,该新密码将被接受。 [/size][/font]
[font=SimSun][size=10pt]minlen=N:定义密码最小长度。 [/size][/font]
[font=SimSun][size=10pt]dcredit=N:定义密码中可以包含数字的最大数目。 [/size][/font]
[font=SimSun][size=10pt]ucredit=N:定义密码中可以包含的大写字母的最大数目。 [/size][/font]
[font=SimSun][size=10pt]lcredit=N:定义密码中可以包含的小写字母的最大数目。 [/size][/font]
[font=SimSun][size=10pt]ocredit=N:定义密码中可以包含的其他字符(除数字、字母之外)的最大数目。 [/size][/font]
[font=SimSun][size=10pt]配置实例:请参考/etc/pam.d/system-auth文件 [/size][/font]
[font=SimSun][size=10pt]4.pam_deny认证模块 [/size][/font]
[font=SimSun][size=10pt]所属类型:account, session, auth,password [/size][/font]
[font=SimSun][size=10pt]功能描述:该模块仅仅返回一个错误。用来拒绝用户访问。通常该模块被用来作为缺省的验证规则。 [/size][/font]
[font=SimSun][size=10pt]可带参数:无 [/size][/font]
[font=SimSun][size=10pt]配置实例:请参考/etc/pam.d/system-auth文件 [/size][/font]
[font=SimSun][size=10pt]5.pam_env认证模块 所属类型: auth [/size][/font]
[font=SimSun][size=10pt]功能描述:该模块可以用来设置任意的环境变量,缺省的,该模块的配置文件是/etc/security/pam_env.conf,可以使用conffile参数指定自定义的配置文件。 [/size][/font]
[font=SimSun][size=10pt]配置文件说明:该配置文件每一行(一个条目)的语法如下: [/size][/font]
[font=SimSun][size=10pt]变量名 [DEFAULT=[值]] [OVERRIDE=[值]] [/size][/font]
[font=SimSun][size=10pt]选项DEFAULT说明这是一个缺省值;OVERRIDE则说明可以覆盖缺省值。、[/size][/font]
[font=SimSun][size=10pt]在该配置文件中,可以使用${变量名}的形式应用变量。除此之外,该模块还可以从/etc/environment文件中读入形如“变量名=值”的环境变量,当然该文件也可以用readenv参数自己指定。需要注意的是,该文件的读入的值,将覆盖conffile文件中的缺省值。 [/size][/font]
[font=SimSun][size=10pt]可带参数: debug:将调试信息写入日志 [/size][/font]
[font=SimSun][size=10pt]conffile=filename:指定自定义的配置文件; [/size][/font]
[font=SimSun][size=10pt]readenv=filename:指定自定义包含“变量名=值”形式的环境变量配置文件; [/size][/font]
[font=SimSun][size=10pt]readenv=1/0:设置是否从readenv中读入环境变量,缺省是1,也即读入。 [/size][/font]
[font=SimSun][size=10pt]配置实例:请参考/etc/pam.d/system-auth文件 [/size][/font]
[font=SimSun][size=10pt]6.pam_filter认证模块 [/size][/font]
[font=SimSun][size=10pt]所属类型:account, session, auth,password [/size][/font]
[font=SimSun][size=10pt]功能描述:该模块提供对用户和应用程序交互内容的访问控制功能,目前仅仅具有大小写转换功能。该模块还有待完善。 [/size][/font]
[font=SimSun][size=10pt]7.pam_ftp认证模块 [/size][/font]
[font=SimSun][size=10pt]所属类型:auth [/size][/font]
[font=SimSun][size=10pt]功能描述:[color=#ff6600]该模块提供匿名ftp用户认证机制。 [/color][/size][/font]
[font=SimSun][size=10pt]可带参数: debug:将调试信息写入日志 [/size][/font]
[font=SimSun][size=10pt][color=#ff6600]users=xxx,yyy:[/color]指定采用该模块进行认证的用户名,缺省为ftp和anonymous,可以用逗号进行分割; [/size][/font]
[font=SimSun][size=10pt]ignore:不对用户输入的密码(邮件地址)进行检验 [/size][/font]

[font=Verdana][size=10pt]8.pam_group认证模块 [/size][/font]

[font=Verdana][size=10pt]所属类型:auth [/size][/font]

[font=Verdana][size=10pt]功能描述:该模块没有提供用户认证,而仅仅是授予该用户指定组的组权限。其缺省的配置文件为/etc/security/groups.conf。 [/size][/font]

[font=Verdana][size=10pt]9.pam_issue认证模块 [/size][/font]

[font=Verdana][size=10pt]所属类型:auth [/size][/font]

[font=Verdana][size=10pt]功能描述:该模块在用户登录时,将/etc/issue文件的内容打印出来。 [/size][/font]

[font=Verdana][size=10pt]可带参数: [/size][/font]
[font=Verdana][size=10pt]issue=filename:指定其他配置文件,而不是缺省的/etc/issue. [/size][/font]
[font=Verdana][size=10pt]noesc:不对配置文件中的转移字符进行解释。 [/size][/font]

[font=Verdana][size=10pt]配置文件说明: [/size][/font]
[font=Verdana][size=10pt]配置文件中可以使用形如x的转移字符来实现特定的功能。可以识别的转移字符有: [/size][/font]
[font=Verdana][size=10pt]d:打印当前日期 [/size][/font]
[font=Verdana][size=10pt]s:打印操作系统名称 [/size][/font]
[font=Verdana][size=10pt]l:打印当前tty名称 [/size][/font]
[font=Verdana][size=10pt]m:打印CPU类型(i686、sparc、powerpc等) [/size][/font]
[size=10pt][font=Calibri]h[/font][font=Verdana]:打印主机名 [/font][/size]
[font=Verdana][size=10pt]o:打印域名 [/size][/font]

[font=Verdana][size=10pt]:打印内核版本号 [/size][/font]
[font=Verdana][size=10pt]:打印当前系统时间 [/size][/font]
[font=Verdana][size=10pt]u:打印系统当前在线用户数 [/size][/font]
[font=Verdana][size=10pt]U:同u,但是在用户数后有users字样 [/size][/font]
[font=Verdana][size=10pt]v:打印系统安装的日期 [/size][/font]

[font=Verdana][size=10pt]配置文件实例: [/size][/font]
[font=Verdana][size=10pt]$ more /etc/issue [/size][/font]

[font=Verdana][size=10pt]Welcome to [/size][/font]

[font=Verdana][size=10pt]Time: d [/size][/font]
[font=Verdana][size=10pt]User online: U [/size][/font]

[font=Verdana][size=10pt]10.pam_lastlog认证模块 [/size][/font]

[font=Verdana][size=10pt]所属类型:auth [/size][/font]

[font=Verdana][size=10pt]功能描述:该模块在用户登录时,打印最后登录系统的信息(在/var/log/lastlog中),通常已经有其他程序在作这个工作了,所以没有必要使用该模块。 [/size][/font]


[font=Verdana][size=10pt]11.pam_limits认证模块 [/size][/font]

[font=Verdana][size=10pt]所属类型:session [/size][/font]

[font=Verdana][size=10pt]功能描述:该模块限制用户会话过程中系统资源的使用率。缺省的,该模块的配置文件是/etc/security/limits.conf,可以使用conf参数指定自定义的配置文件。 [/size][/font]

[font=Verdana][size=10pt]可带参数: [/size][/font]
[font=Verdana][size=10pt]debug:将调试信息写入日志 [/size][/font]
[font=Verdana][size=10pt]conf=filename:指定配置文件 [/size][/font]

[font=Verdana][size=10pt]配置文件说明:该配置文件每一行(一个条目)的语法如下: [/size][/font]

[size=10pt][font=Verdana]在这里可以是[/font][font=SimSun]:[/font]
[/size]
[font=Verdana][size=10pt]用户名 [/size][/font]
[font=Verdana][size=10pt]用户组名,采用@group的语法 [/size][/font]
[font=Verdana][size=10pt]通配符*,表示任何 [/size][/font]

[size=10pt][font=SimSun]限制的方法[/font][font=Verdana]可以是[/font][font=SimSun]:[/font]
[/size]
[font=Verdana][size=10pt]soft-表示软限制,可以超过该限制 [/size][/font]
[font=Verdana][size=10pt]hard-表示硬限制,有root设定,内核执行,不可以超过该限制 [/size][/font]
[size=10pt][font=SimSun]限制的种类[/font][font=Verdana]可以是[/font][font=SimSun]:[/font]
[/size]
[font=Verdana][size=10pt]core-core文件大小 (KB) [/size][/font]
[font=Verdana][size=10pt]data-最大数据大小(KB) [/size][/font]
[font=Verdana][size=10pt]fsize-最大文件大小(KB) [/size][/font]
[font=Verdana][size=10pt]memlock-最大可用内存空间(KB) [/size][/font]
[font=Verdana][size=10pt]nofile-最大可以打开的文件数量 [/size][/font]
[font=Verdana][size=10pt]rss-最大可驻留空间(KB) [/size][/font]
[font=Verdana][size=10pt]stack-最大堆栈空间(KB) [/size][/font]
[font=Verdana][size=10pt]cpu-最大CPU使用时间(MIN) [/size][/font]
[font=Verdana][size=10pt]nproc-最大运行进程数 [/size][/font]
[font=Verdana][size=10pt]as-地址空间限制 [/size][/font]
[font=Verdana][size=10pt]maxlogins-某一用户可以登录到系统的最多次数 [/size][/font]
[font=Verdana][size=10pt]locks-最大锁定文件数目 [/size][/font]
[font=Verdana][size=10pt]需要注意的是,如果无限制可以使用”-”号,并且针对用户限制的优先级要比针对组的 [/size][/font]
[font=Verdana][size=10pt]优先级高。 [/size][/font]

[font=Verdana][size=10pt]配置文件实例: [/size][/font]
[font=Verdana][size=10pt]* soft core 0 [/size][/font]
[font=Verdana][size=10pt]* hard rss 10000 [/size][/font]
[font=Verdana][size=10pt]@student hard nproc 20 [/size][/font]
[font=Verdana][size=10pt]@faculty soft nproc 20 [/size][/font]
[font=Verdana][size=10pt]@faculty hard nproc 50 [/size][/font]

[font=Verdana][size=10pt]12.pam_listfile认证模块 [/size][/font]

[font=Verdana][size=10pt]所属类型:auth [/size][/font]

[font=Verdana][size=10pt]功能描述:该模块提供根据某种规则来对用户进行访问控制的功能。通常把访问控制规则放在一个文件中,可以用file参数指定该文件。一般可以根据用户名、登录tty名、rhost、ruser、所属用户组、登录shell来对用户访问进行控制。 [/size][/font]

[font=Verdana][size=10pt]可带参数: [/size][/font]
[font=Verdana][size=10pt]item=[tty|user|rhost|ruser|group|shell]:定义所采用的规则; [/size][/font]
[font=Verdana][size=10pt]onerr=succeed|fail:定义当出现错误(比如无法打开配置文件)时的缺省返回值; [/size][/font]
[font=Verdana][size=10pt]sense=allow|deny:定义当再配置文件中找到符合条件的项目时的返回值;如果没有找到符合条件的项目,则返回相反的值; [/size][/font]
[font=Verdana][size=10pt]file=filename:指定配置文件 [/size][/font]
[font=Verdana][size=10pt]apply=user|@group:定义采用非user和group的规则时,这些规则所应用的对象。 [/size][/font]

[font=Verdana][size=10pt]配置实例: [/size][/font]
[font=Verdana][size=10pt]比如/etc/pam.d/ftp: [/size][/font]
[font=Verdana][size=10pt]$ more /etc/pam.d/ftp [/size][/font]
[font=Verdana][size=10pt]#%PAM-1.0 [/size][/font]
[font=Verdana][size=10pt]auth required /lib/security/pam_listfile.so item=user sense=deny file= [/size][/font]
[font=Verdana][size=10pt]/etc/ftpusers onerr=succeed [/size][/font]
[font=Verdana][size=10pt]auth required /lib/security/pam_pwdb.so shadow nullok [/size][/font]
[font=Verdana][size=10pt]# This is disabled because anonymous logins will fail otherwise, [/size][/font]
[font=Verdana][size=10pt]# unless you give the 'ftp' user a valid shell, or /bin/false and add [/size][/font]
[font=Verdana][size=10pt]# /bin/false to /etc/shells. [/size][/font]
[font=Verdana][size=10pt]#auth required /lib/security/pam_shells.so [/size][/font]
[font=Verdana][size=10pt]account required /lib/security/pam_pwdb.so [/size][/font]
[font=Verdana][size=10pt]session required /lib/security/pam_pwdb.so [/size][/font]
[font=Verdana][size=10pt]该配置文件的第一句,就指定了根据用户名来对访问进行控制(item=user)。配置文件为/etc/ftpaccess(file=/etc/ftpusers),当登录用户的用户名在配合文件出现时拒绝访问(sense=deny),当配置文件中没有符合的条目时允许其访问(onerr=succeed)。 [/size][/font]

[font=Verdana][size=10pt]13.pam_mail认证模块 [/size][/font]

[font=Verdana][size=10pt]所属类型:auth,session [/size][/font]

[font=Verdana][size=10pt]功能描述:检查用户的邮件目录,查看该用户是否有新邮件。通常已经有其他程序在作这个工作了,所以没有必要使用该模块。 [/size][/font]

[font=Verdana][size=10pt]可带参数: [/size][/font]
[font=Verdana][size=10pt]debug:将调试信息写入日志 [/size][/font]
[font=Verdana][size=10pt]dir=pathname:用于指定用户的邮箱路径,通常是/var/spool/mail,如果是以~开头表示该邮箱位于用户的宿主目录下。 [/size][/font]
[font=Verdana][size=10pt]nopen:不向用户提示邮件信息。 [/size][/font]
[font=Verdana][size=10pt]close:总是向用户提示邮件信息。 [/size][/font]
[font=Verdana][size=10pt]noenv:不设置MAIL环境变量。 [/size][/font]
[font=Verdana][size=10pt]empty:如果用户邮箱为空,也向用户提示邮件信息。 [/size][/font]
[font=Verdana][size=10pt]quiet:即使用户有新邮件也不向用户提示。 [/size][/font]


[font=Verdana][size=10pt]14.pam_mkhomedir认证模块 [/size][/font]

[font=Verdana][size=10pt]所属类型: session [/size][/font]

[font=Verdana][size=10pt]功能描述:在用户登录时为用户兴建宿主目录,该功能在采用ldap或者数据库存储用户数据时特别有用。 [/size][/font]

[font=Verdana][size=10pt]可带参数: [/size][/font]
[font=Verdana][size=10pt]debug:将调试信息写入日志 [/size][/font]
[font=Verdana][size=10pt]skel=dir:指定用户包含初始化脚本的目录; [/size][/font]
[font=Verdana][size=10pt]umask=octal:与umask命令一样,设置用户创建文件时预设的权限掩码。 [/size][/font]

[font=Verdana][size=10pt]15.pam_motd认证模块 [/size][/font]

[font=Verdana][size=10pt]所属类型: session [/size][/font]

[font=Verdana][size=10pt]功能描述:在用户成功登录系统后显示message of today(今天的信息),缺省是显示/etc/motd文件的内容,可以用motd参数指定不同的配置文件。 [/size][/font]

[font=Verdana][size=10pt]可带参数: [/size][/font]
[font=Verdana][size=10pt]motd=filename:指定自定义的配置文件。 [/size][/font]

[font=Verdana][size=10pt]16.pam_nologin认证模块 [/size][/font]

[font=Verdana][size=10pt]所属类型: auth [/size][/font]

[font=Verdana][size=10pt][color=#ff6600]功能描述:提供标准的UNIX nologin登录认证。如果/etc/nologin文件存在,则只有root用户可以登录,其他用户登录时只会得到/etc/nologin文件的内容。如果/etc/nologin不存在,则该模块没有作用。[/color]
[/size][/font]

[font=Verdana][size=10pt]可带参数:无 [/size][/font]

[font=Verdana][size=10pt]17.pam_permit认证模块 [/size][/font]

[font=Verdana][size=10pt]所属类型: account; auth; password; session [/size][/font]

[font=Verdana][size=10pt]功能描述:使用该模块具有很大的安全风险,该模块的唯一功能就是允许用户登录。 [/size][/font]

[font=Verdana][size=10pt]可带参数:无 [/size][/font]

[font=Verdana][size=10pt][color=#ff6600]18.pam_pwdb认证模块[/color]
[/size][/font]

[font=Verdana][size=10pt]所属类型: account; auth; password; session [/size][/font]

[font=Verdana][size=10pt]功能描述:该模块是标准UNIX认证模块pam_unix的替代模块。 [/size][/font]

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

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

[font=Verdana][size=10pt]在作为password类型使用时,此时该模块可识别的参数有debug、 audit、 nullok;、not_set_pass、use_authtok、try_first_pass、use_first_pass、md5、bigcrypt、shadow,该模块完成让用户更改密码的任务; [/size][/font]

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

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

[font=Verdana][size=10pt]配置实例: [/size][/font]
[font=Verdana][size=10pt]参考/etc/pam.d/ftp [/size][/font]

[font=SimSun][size=10.5pt]19.pam_rhosts_auth认证模块 [/size][/font]

[font=SimSun][size=10.5pt]所属类型: auth [/size][/font]

[font=SimSun][size=10.5pt]功能描述:该模块为标准的网络服务(诸如rlogin、rsh)提供认证。 [/size][/font]

[font=SimSun][size=10.5pt]可带参数:请参考PAM文档说明 [/size][/font]

[font=SimSun][size=10.5pt]20.pam_rootok认证模块 [/size][/font]

[font=SimSun][size=10.5pt]所属类型: auth [/size][/font]

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

[font=SimSun][size=10.5pt]可带参数:无 [/size][/font]

[font=SimSun][size=10.5pt]21.pam_securetty认证模块 [/size][/font]

[font=SimSun][size=10.5pt]所属类型: auth [/size][/font]

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

[font=SimSun][size=10.5pt]22.pam_shell认证模块 [/size][/font]

[font=SimSun][size=10.5pt]所属类型: auth [/size][/font]

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

[font=SimSun][size=10.5pt]23.pam_time认证模块 [/size][/font]

[font=SimSun][size=10.5pt]所属类型: account [/size][/font]

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

[font=SimSun][size=10.5pt]可带参数:无 [/size][/font]

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

[font=SimSun][size=10.5pt]24.pam_unix认证模块 [/size][/font]

[font=SimSun][size=10.5pt]所属类型: account; auth; password; session [/size][/font]

[font=SimSun][size=10.5pt]功能描述:该模块是标准UNIX认证模块pam_unix的替代模块。 [/size][/font]

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

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

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

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

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

[font=SimSun][size=10.5pt]配置实例: [/size][/font]
[font=SimSun][size=10.5pt]参考/etc/pam.d/system-auth [/size][/font]

[font=SimSun][size=10.5pt]25.pam_userdb认证模块 [/size][/font]

[font=SimSun][size=10.5pt]所属类型: auth [/size][/font]

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

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

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

[font=SimSun][size=10.5pt]26.pam_warn认证模块 [/size][/font]

[font=SimSun][size=10.5pt]所属类型: auth,password [/size][/font]

[font=SimSun][size=10.5pt]功能描述:记录服务、终端名、用户名、远程主机等信息到日志文件。 [/size][/font]

[font=SimSun][size=10.5pt]27.pam_stack认证模块 [/size][/font]

[font=SimSun][size=10.5pt]所属类型: auth,account, password,session [/size][/font]

[font=SimSun][size=10.5pt]功能描述:该模块可以用来实现pam认证的递归调用。 [/size][/font]

[font=SimSun][size=10.5pt]可带参数: [/size][/font]
[font=SimSun][size=10.5pt]debug:将调试信息写入日志 [/size][/font]
[font=SimSun][size=10.5pt]service=name:指定调用的配置文件。 [/size][/font]

[font=SimSun][size=10.5pt]配置实例: [/size][/font]
[font=SimSun][size=10.5pt]参考/etc/pam.d/login [/size][/font]

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.