login登陆过程(/etc/pam.d/login)
auth
这种类型的模块为用户验证提供两方面的服务。
让应用程式提示用户输入密码或其他的标记,确认用户的合法性;
account
这类模块执行基于非验证的帐户管理。他主要用来限制/允许用户对某个服务的访问时间,当前有效的系统资源(最多能够有多少个用户),限制用户的位置(例如:root用户只能从控制台登录)。
session
这类模块的主要用途是处理为用户提供服务之前/后需要做的一些事情,包括:记录打开/关闭交换数据的信息,监控目录等。
password
用来升级用户验证标记。
required
表示即使某个模块对用户的验证失败,也要等任何的模块都执行完毕之后,PAM才返回错误信息。这样做是为了不让用户知道被哪个模块拒绝。假如对用户验证成功,任何的模块都会返回成功信息。
requisite
假如特定的模块对用户的验证失败,PAM马上返回一个错误信息,把控制权交回应用程式,不再执行其他模块进行验证。
sufficient
表示假如一个用户通过这个模块的验证,PAM结构就立即返回验证成功信息,把控制权交会应用程式。后面的层叠模块即使使用requisite或required控制标志,也不再执行。假如验证失败sufficient的作用和optional相同。
optional
表示即使本行指定的模块验证失败,也允许用户享受应用程式提供的服务。使用这个标志,PAM框架会忽略这这个模块产生的验证错误,继续顺序执行下一个层叠模块。
1 auth required pam_securetty.so
#path: /lib/security/pam_securetty.so
#conf: /etc/securetty
#设定root用户能够登陆的tty,若登陆的tty没有在文档中列出,
#则该tty无法让root用户登陆,该文档对其他用户无限制。
#doc: /usr/share/doc/pam-0.75/txts/README.pam_securetty
2 auth required pam_stack.so service=system-auth
#path: /lib/security/pam_stack.so
#pam_stack.so的作用是调用服务。
#srv: /etc/pam.d/system-auth
#调用auth类型pam,在此处调用如下:
# auth required /lib/security/$ISA/pam_env.so
# conf /etc/security/pam_env.conf
#
#doc: /usr/share/doc/pam-0.75/txts/README.pam_env
# auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
# path: /lib/security/pam_unix.so
#
# doc: /usr/share/doc/pam-0.75/txts/README.pam_unix
# auth required /lib/security/$ISA/pam_deny.so
#path: /lib/security/pam_deny.so
#this module always fails, it ignores all options.
#:
#doc: /usr/share/doc/pam-0.75/txts/README.pam_deny
3 auth required pam_nologin.so
#path: /lib/security/pam_nologin.so
#这个模块始终让root用户能够登陆,其他用户只有在/etc/nologin文档不存在时能够登陆,
#:若/etc/nologin文档存在,则在输入正确用户名及任意密码后将该文档内容显示给用户。
#doc: /usr/share/doc/pam-0.75/txts/README.pam_nologin
4 account required pam_stack.so service=system-auth
#pam_stack.so的作用是调用服务。
#srv: /etc/pam.dsystem-auth
#调用account类型pam,在此处调用如下:
#account required /lib/security/$ISA/pam_unix.so
# path: /lib/security/pam_unix.so
#
# doc: /usr/share/doc/pam-0.75/txts/README.pam_unix
5 password required pam_stack.so service=system-auth
#pam_stack.so的作用是调用服务。
#srv: /etc/pam.d/system-auth
#调用password类型pam,在此处调用如下:
#password required /lib/security/$ISA/pam_cracklib.so retry=3 type=
#path: /lib/security/pam_cracklib.so
#首先调用cracklib例程检查密码强度,假如密码不易破译,就进行下面的强度检查:
#新密码是否旧密码的回文。
#新密码是否只是就密码改变了大小写
#doc: /usr/share/doc/pam-0.75/txts/README.pam_cracklib
#password required /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
#path: /lib/security/pam_unix.so
#
#doc: /usr/share/doc/pam-0.75/txts/README.pam_unix
#password required /lib/security/$ISA/pam_deny.so
#path: /lib/security/pam_deny.so
#这个模块能够用来拒绝任何访问。
#this module always fails, it ignores all options.
#doc: /usr/share/doc/pam-0.75/txts/README.pam_deny
6 session required pam_stack.so service=system-auth
#pam_stack.so的作用是调用服务。
#srv: /etc/pam.d/system-auth
#调用password类型pam,在此处调用如下:
#session required /lib/security/$ISA/pam_limits.so
#path: /lib/security/pam_limits.so
#conf: /etc/security/limits.conf
#
#doc: /usr/share/doc/pam-0.75/txts/README.pam_limits
#session required /lib/security/$ISA/pam_unix.so
#path: /lib/security/pam_unix.so
#
#
#doc: /usr/share/doc/pam-0.75/txts/README.pam_unix
7 session optional pam_console.so
#path: /lib/security/pam_console.so
#
#
#doc: /usr/share/doc/pam-0.75/txts/README.pam_console
auth
这种类型的模块为用户验证提供两方面的服务。
让应用程式提示用户输入密码或其他的标记,确认用户的合法性;
account
这类模块执行基于非验证的帐户管理。他主要用来限制/允许用户对某个服务的访问时间,当前有效的系统资源(最多能够有多少个用户),限制用户的位置(例如:root用户只能从控制台登录)。
session
这类模块的主要用途是处理为用户提供服务之前/后需要做的一些事情,包括:记录打开/关闭交换数据的信息,监控目录等。
password
用来升级用户验证标记。
required
表示即使某个模块对用户的验证失败,也要等任何的模块都执行完毕之后,PAM才返回错误信息。这样做是为了不让用户知道被哪个模块拒绝。假如对用户验证成功,任何的模块都会返回成功信息。
requisite
假如特定的模块对用户的验证失败,PAM马上返回一个错误信息,把控制权交回应用程式,不再执行其他模块进行验证。
sufficient
表示假如一个用户通过这个模块的验证,PAM结构就立即返回验证成功信息,把控制权交会应用程式。后面的层叠模块即使使用requisite或required控制标志,也不再执行。假如验证失败sufficient的作用和optional相同。
optional
表示即使本行指定的模块验证失败,也允许用户享受应用程式提供的服务。使用这个标志,PAM框架会忽略这这个模块产生的验证错误,继续顺序执行下一个层叠模块。
1 auth required pam_securetty.so
#path: /lib/security/pam_securetty.so
#conf: /etc/securetty
#设定root用户能够登陆的tty,若登陆的tty没有在文档中列出,
#则该tty无法让root用户登陆,该文档对其他用户无限制。
#doc: /usr/share/doc/pam-0.75/txts/README.pam_securetty
2 auth required pam_stack.so service=system-auth
#path: /lib/security/pam_stack.so
#pam_stack.so的作用是调用服务。
#srv: /etc/pam.d/system-auth
#调用auth类型pam,在此处调用如下:
# auth required /lib/security/$ISA/pam_env.so
# conf /etc/security/pam_env.conf
#
#doc: /usr/share/doc/pam-0.75/txts/README.pam_env
# auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
# path: /lib/security/pam_unix.so
#
# doc: /usr/share/doc/pam-0.75/txts/README.pam_unix
# auth required /lib/security/$ISA/pam_deny.so
#path: /lib/security/pam_deny.so
#this module always fails, it ignores all options.
#:
#doc: /usr/share/doc/pam-0.75/txts/README.pam_deny
3 auth required pam_nologin.so
#path: /lib/security/pam_nologin.so
#这个模块始终让root用户能够登陆,其他用户只有在/etc/nologin文档不存在时能够登陆,
#:若/etc/nologin文档存在,则在输入正确用户名及任意密码后将该文档内容显示给用户。
#doc: /usr/share/doc/pam-0.75/txts/README.pam_nologin
4 account required pam_stack.so service=system-auth
#pam_stack.so的作用是调用服务。
#srv: /etc/pam.dsystem-auth
#调用account类型pam,在此处调用如下:
#account required /lib/security/$ISA/pam_unix.so
# path: /lib/security/pam_unix.so
#
# doc: /usr/share/doc/pam-0.75/txts/README.pam_unix
5 password required pam_stack.so service=system-auth
#pam_stack.so的作用是调用服务。
#srv: /etc/pam.d/system-auth
#调用password类型pam,在此处调用如下:
#password required /lib/security/$ISA/pam_cracklib.so retry=3 type=
#path: /lib/security/pam_cracklib.so
#首先调用cracklib例程检查密码强度,假如密码不易破译,就进行下面的强度检查:
#新密码是否旧密码的回文。
#新密码是否只是就密码改变了大小写
#doc: /usr/share/doc/pam-0.75/txts/README.pam_cracklib
#password required /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
#path: /lib/security/pam_unix.so
#
#doc: /usr/share/doc/pam-0.75/txts/README.pam_unix
#password required /lib/security/$ISA/pam_deny.so
#path: /lib/security/pam_deny.so
#这个模块能够用来拒绝任何访问。
#this module always fails, it ignores all options.
#doc: /usr/share/doc/pam-0.75/txts/README.pam_deny
6 session required pam_stack.so service=system-auth
#pam_stack.so的作用是调用服务。
#srv: /etc/pam.d/system-auth
#调用password类型pam,在此处调用如下:
#session required /lib/security/$ISA/pam_limits.so
#path: /lib/security/pam_limits.so
#conf: /etc/security/limits.conf
#
#doc: /usr/share/doc/pam-0.75/txts/README.pam_limits
#session required /lib/security/$ISA/pam_unix.so
#path: /lib/security/pam_unix.so
#
#
#doc: /usr/share/doc/pam-0.75/txts/README.pam_unix
7 session optional pam_console.so
#path: /lib/security/pam_console.so
#
#
#doc: /usr/share/doc/pam-0.75/txts/README.pam_console
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



