IT猫扑网:您身边最放心的安全下载站! 最新更新| 软件分类| 专题汇总| 手机版

您当前所在位置:IT猫扑网 > 操作系统 > LINUX > linux控制用户的登录地点以及PAM的用法

linux控制用户的登录地点以及PAM的用法

时间:2015-06-28 00:00 来源:IT猫扑网|http://www.itmop.com/ 作者:网管联盟 我要评论(0)

  控制用户的登录地点

  文件/etc/secruity/access.conf可控制用户登录地点,为了使用access.conf,必须在文件/etc/pam.d/login中加入下面行:

  account required /lib/security/pam_access.so

  access.conf文件的格式:

  permission : users : origins

  其中:

  permission:可以是 &+&或&-&,表示允许或拒绝。

  user:可以是用户名、用户组名,如果是all则表示所有用户。

  origins:登录地点。local表示本地,all表示所有地点,console表示控制台。另外,origins也可以是某一网络。

  后面两个域中加上 except是&除了&的意思。例如:除了用户wheel、shutdown、sync禁止所有的控制台登录:

  -:ALL EXCEPT wheel shutdown sync:console

  root账户的登录地点不在access.conf文件中控制,而是由/etc/securetty文件控制。

  必须保证/etc/pam.d/login有下面这行:

  auth required     pam_securetty.so

  etc/securetty文件指定了允许root登录的tty设备,由/bin/login程序读取,其格式是一个被允许的名字列表,你可以编辑/etc/securetty且注释掉如下的行。

  # tty2

  # tty3

  # tty4

  # tty5

  # tty6

  这时,root仅可在tty1终端登录。

  关于PAM的一些解释

  热身:

  何要授予用户特权的程序都要能够进行用户认证。当您登入系统时,您需要提供用户名和口令,而后登入进程据此以检验登入的合法性---确认您就是该用户。还有除口令认证之外的其他认证形式,而且口令的存储方式也是各不相同的。

  1、说明

  A、PAM可加载目标文件(模块)是在RedHat linux系统中它们被放在了/lib/security目录下

  B、PAM库本地系统配置文件/etc/pam.conf OR /etc/pam.d/目录下的一些配置文件来设置

  2、# more login

  #%PAM-1.0

  auth required     pam_securetty.so

  用来控制root用户只可以从包含在/etc/securetty文件中的终端登录系统。

  auth required     pam_stack.so service=system-auth

  auth required     pam_nologin.so

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

  account    required     pam_stack.so service=system-auth

  password   required     pam_stack.so service=system-auth

  # pam_selinux.so close should be the first session rule

  session    required     pam_selinux.so close

  session    required     pam_stack.so service=system-auth

  session    optional     pam_console.so

  # ls -l /dev/pts/1

  crw--w---- 1 root tty 136, 1 May 15 21:19 /dev/pts/1

  # ls -l /dev/pts/2

  crw--w---- 1 test tty 136, 2 May 15 21:20 /dev/pts/2

  用户登陆时,它将TTY设备权限改成该用户所有,当用户退出时,将TTY设备权限改为root所有。

  # pam_selinux.so open should be the last session rule

  session    required     pam_selinux.so multiple open

  login要做两件事,首先查询用户,然后为用户提供所需服务,例如提供一个shell程序。

  通常,login会提示用户输入密码。然后对密码进行校验,这项任务就是Linux-PAM完成的。

  上 例中三个required连续使用, 即便第一个模块失败了,也要完成三个模块的校验。这是一种安全上的考虑 ---这种设计永远不要让用户知道他或她们为什么会被拒绝,否则会让其更容易突破认证。可以将&required&改成&requisite&来修改这种 认证方式。如果有任何&requisite&模块以失败返回,整个PAM认证将终止再调用其它模块也以失败返回。

  3、pam_unix认证模块

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

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

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

  auth  required      /lib/security/$ISA/pam_env.so

  auth  sufficient    /lib/security/$ISA/pam_unix.so likeauth nullok

  auth  required      /lib/security/$ISA/pam_deny.so

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

  account     required      /lib/security/$ISA/pam_unix.so

  account     sufficient    /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet

  account     required      /lib/security/$ISA/pam_permit.so

  在 作为password类型使用时,此时该模块可识别的参数有debug、 audit、 nullok;、not_set_pass、use_authtok、try_first_pass、use_first_pass、md5、 bigcrypt、shadow、nis、

  remember,该模块完成让用户更改密码的任务;

  password    requisite     /lib/security/$ISA/pam_cracklib.so retry=3

  password    sufficient    /lib/security/$ISA/pam_unix.so nullok use_authtok md5

  shadow

  password    required      /lib/security/$ISA/pam_deny.so

#p#副标题#e#

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

  session     required      /lib/security/$ISA/pam_limits.so

  session     required      /lib/security/$ISA/pam_unix.so

  可带参数:

  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

  设置密码中的常见错误信息?

  ⑴当用户输入的密码字符数太少时:

  BAD PASSWORD: it's WAY too short

  ⑵当用户输入的密码相同字符太多时:

  BAD PASSWORD: it does not cont

关键词标签:linux控制用户的登录地

相关阅读 安装红帽子RedHat Linux9.0操作系统教程 Tomcat9.0如何安装_Tomcat9.0环境变量配置方法 多种操作系统NTP客户端配置 Linux操作系统修改IP Linux实现SCSI硬盘热插拔及在线识别 Linux下用CDMA modem拨号上网

文章评论
发表评论

热门文章 安装红帽子RedHat Linux9.0操作系统教程 安装红帽子RedHat Linux9.0操作系统教程 Linux服务器:设计高性能网站架构-LLMP Linux服务器:设计高性能网站架构-LLMP 使用Clonezilla迁移到虚拟Linux环境 使用Clonezilla迁移到虚拟Linux环境 Linux上的MRTG流量监控中心 Linux上的MRTG流量监控中心 Linux 双网卡绑定一个IP原理及实现 Linux 双网卡绑定一个IP原理及实现 linux和windows等系统远程控制ubuntu桌面 linux和windows等系统远程控制ubuntu桌面

相关下载

人气排行 Linux下获取CPUID、硬盘序列号与MAC地址 dmidecode命令查看内存型号 linux tc实现ip流量限制 安装红帽子RedHat Linux9.0操作系统教程 linux下解压rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 关机、重启、注销 命令 查看linux服务器硬盘IO读写负载 linux命令行浏览器的使用方法 Linux NFS服务固定端口及防火墙配置 U盘安装Ubuntu 10.04 Linux清除用户登录记录和命令历史方法