龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 操作系统 > LINUX系统 >

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

时间:2011-03-20 22:37来源:未知 作者:admin 点击:
分享到:
8.pam_group认证模块 所属类型:auth 功能描述:该模块没有提供用户认证,而仅仅是授予该用户指定组的组权限。其缺省的配置文件为/etc/security/groups.conf。 9.pam_issue认证模块 所属类型

  8.pam_group认证模块

  

  所属类型:auth

  

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

  

  9.pam_issue认证模块

  

  所属类型:auth

  

  功能描述:该模块在用户登录时,将/etc/issue文件的内容打印出来。

  

  可带参数:

  issue=filename:指定其他配置文件,而不是缺省的/etc/issue.

  noesc:不对配置文件中的转移字符进行解释。

  

  配置文件说明:

  配置文件中可以使用形如x的转移字符来实现特定的功能。可以识别的转移字符有:

  d:打印当前日期

  s:打印操作系统名称

  l:打印当前tty名称

  m:打印CPU类型(i686、sparc、powerpc等)

  :打印主机名

  o:打印域名

  

  :打印内核版本号

  :打印当前系统时间

  u:打印系统当前在线用户数

  U:同u,但是在用户数后有users字样

  v:打印系统安装的日期

  

  配置文件实例:

  $ more /etc/issue

  

  Welcome to

  

  Time: d

  User online: U

  

  10.pam_lastlog认证模块

  

  所属类型:auth

  

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

  

  

  11.pam_limits认证模块

  

  所属类型:session

  

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

  

  可带参数:

  issue=filename:指定其他配置文件,而不是缺省的/etc/issue.

  noesc:不对配置文件中的转移字符进行解释。

  

  配置文件说明:

  debug:将调试信息写入日志

  conf=filename:指定配置文件

  

  配置文件说明:该配置文件每一行(一个条目)的语法如下:

  

  在这里

  可以是

  用户名

  用户组名,采用@group的语法

  通配符*,表示任何

  可以是

  soft-表示软限制,可以超过该限制

  hard-表示硬限制,有root设定,内核执行,不可以超过该限制

  可以是

  core-core文件大小 (KB)

  data-最大数据大小(KB)

  fsize-最大文件大小(KB)

  memlock-最大可用内存空间(KB)

   nofile-最大可以打开的文件数量

  rss-最大可驻留空间(KB)

  stack-最大堆栈空间(KB)

  cpu-最大CPU使用时间(MIN)

  nproc-最大运行进程数

  as-地址空间限制

  maxlogins-某一用户可以登录到系统的最多次数

  locks-最大锁定文件数目

  需要注意的是,如果无限制可以使用”-”号,并且针对用户限制的优先级要比针对组的

  优先级高。

  

  配置文件实例:

  * soft core 0

  * hard rss 10000

  @student hard nproc 20

  @faculty soft nproc 20

  @faculty hard nproc 50

  

  12.pam_listfile认证模块

  

  所属类型:auth

  

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

  

  可带参数:

  item=[tty|user|rhost|ruser|group|shell]:定义所采用的规则;

  onerr=succeed|fail:定义当出现错误(比如无法打开配置文件)时的缺省返回值;

  sense=allow|deny:定义当再配置文件中找到符合条件的项目时的返回值;如果没有找到符合条件的项目,则返回相反的值;

  file=filename:指定配置文件

  apply=user|@group:定义采用非user和group的规则时,这些规则所应用的对象。

  

  配置实例:

  比如/etc/pam.d/ftp:

  $ more /etc/pam.d/ftp

  #%PAM-1.0

  auth required /lib/security/pam_listfile.so item=user sense=deny file=

  /etc/ftpusers onerr=succeed

  auth required /lib/security/pam_pwdb.so shadow nullok

  # This is disabled because anonymous logins will fail otherwise,

  # unless you give the 'ftp' user a valid shell, or /bin/false and add

  # /bin/false to /etc/shells.

  #auth required /lib/security/pam_shells.so

  account required /lib/security/pam_pwdb.so

  session required /lib/security/pam_pwdb.so

  该配置文件的第一句,就指定了根据用户名来对访问进行控制(item=user)。配置文件为/etc/ftpaccess(file=/etc/ftpusers),当登录用户的用户名在配合文件出现时拒绝访问(sense=deny),当配置文件中没有符合的条目时允许其访问(onerr=succeed)。

  

  13.pam_mail认证模块

  

  所属类型:auth,session

  

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

  

  可带参数:

  debug:将调试信息写入日志

  dir=pathname:用于指定用户的邮箱路径,通常是/var/spool/mail,如果是以~开头表示该邮箱位于用户的宿主目录下。

  nopen:不向用户提示邮件信息。

  close:总是向用户提示邮件信息。

  noenv:不设置MAIL环境变量。

  empty:如果用户邮箱为空,也向用户提示邮件信息。

  quiet:即使用户有新邮件也不向用户提示。

  

  

  14.pam_mkhomedir认证模块

  

  所属类型: session

  

  功能描述:在用户登录时为用户兴建宿主目录,该功能在采用ldap或者数据库存储用户数据时特别有用。

  

  可带参数:

  debug:将调试信息写入日志

  skel=dir:指定用户包含初始化脚本的目录;

  umask=octal:与umask命令一样,设置用户创建文件时预设的权限掩码。

  

  15.pam_motd认证模块

  

  所属类型: session

  

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

  

  可带参数:

  motd=filename:指定自定义的配置文件。

  

  16.pam_nologin认证模块

  

  所属类型: auth

  

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

  

  可带参数:无

  

  17.pam_permit认证模块

  

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

  

  功能描述:使用该模块具有很大的安全风险,该模块的唯一功能就是允许用户登录。

  

  可带参数:无

  

  18.pam_pwdb认证模块

  

  所属类型: 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,该模块完成让用户更改密码的任务;

  

  在作为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

精彩图集

赞助商链接