LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 820|回复: 1

login登陆过程

[复制链接]
发表于 2004-7-27 12:00:18 | 显示全部楼层 |阅读模式
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
发表于 2008-12-25 17:04:42 | 显示全部楼层

请问强制用户密码过期后再登录,应该会出现更改密码的界面吧?

我用以下方法使用户test密码过期,想强制用户在下次登录时更改密码,却不能出现更改密码界面,而是出现密码错误界面,是哪个配置文件错了呢?
--------------------
> usermod -L test
> chage -d 0 test
> usermod -U test
> reset
--------------------
> cat /etc/pam.d/login
# Begin /etc/pam.d/login

auth        requisite      pam_securetty.so
auth        requisite      pam_nologin.so
auth        required       pam_env.so
auth        required       pam_unix.so
account     required       pam_access.so
account     required       pam_unix.so
session     required       pam_motd.so
session     required       pam_limits.so
session     optional       pam_mail.so     dir=/var/mail standard
session     optional       pam_lastlog.so
session     required       pam_unix.so

# End /etc/pam.d/login

多谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表