PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制。它通过提供一些
动态链接库和一套统一的API,将系统提供的服务 和该服务的认证方式分开,使得系统管理
员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于
向系 统中添加新的认证手段。
PAM最初是集成在Solaris中,目前已移植到其它系统中,如Linux、SunOS、HP-UX 9.0等

/etc/pam.d下的文件存放的各个命令的pam模块的配置,比如:

查询某个程序具体使用的哪一个pam模块

例如:

/etc/pam.d/login

/etc/pam.d/sshd

/etc/pam.d/vsftpd

而/etc/security下的文件则对于每个pam模块又做了具体的配置,比如:parm_limits.so的配置文件就是/etc/security/limits.

其他的pam模块:auth_pam_unix.so 用来验证用户和密码的

account_pam_unix.so 验证用户有没有过期         pam_rootok.so 判断当前用户是否为root

pam_nologin.so 拒绝非root用户登录          pam_access.so 限制用户访问终端

pam_time.so 拒绝某个时间段访问某个服务

使用方式:

1)限制用户访问终端  Vim /etc/pam.d/login

添加: auth required pam_access.so

Vin /etc/security/addess.conf

添加:- : wjx : tty3

2)拒绝某个人对你sshd  Vim /etc/pam.d/sshd

添加:auth required pam_access.so

Vim /etc/security/access.conf

添加:-:All : 192.168.119.120 # – 代表拒绝

+ 代表允许

3)决绝某个时间段访问某个服务   Vim /etc/pam.d/login

在account添加:account        required        pam_time.so

Vim /etc/security/time.cong

添加:Login; tty5; wjx; Mo1000-2300

4)echo模块  vim/etc/pam.d/login

添加:auth        required        pam_echo.so       file=/usr/hell0.txt

touch /usr/hello.txt

vim hello.txt

hello world !!!

(5) 用户登录3次以上就在20秒以内拒绝这个用户登录

Vim /etc/pam.d/login

添加:auth        required        pam_tally.so deny=3 unlock_time=20

(6) 如何要求用户设置的密码必须包含5个数字,3个特殊符号?

修改/etc/pam.d/system-auth,在password使用pam_cracklib.so设置的最后附加 dcredit=5,ocredit=3

password requisite pam_cracklib.so try_first_pass retry=3 dcredit=5 ocredit=3

(7)如何限制student最多同时登陆4个?

这需要pam_limits.so模块。由于/etc/pam.d/system-auth中,默认就会通过pam_limits.so 限制用户最多使用多少系统资源,因此

只需要在/etc/security/limits.conf 中加入以下内容(RHEL5最后就有,只不过注释掉了)

student hard maxlogins 4

/etc/pam.d 与 /etc/security 密码策略的更多相关文章

  1. pam密码策略

    PAM 的使用历史 PAM 是关注如何为服务验证用户的 API.在使用 PAM 之前,诸如 login(和 rlogin.telnet.rsh)之类的应用程序在 /etc/passwd 中查找用户名, ...

  2. 06-OpenLDAP密码策略

    阅读视图 openldap密码策略 OpenLDAP服务端定制密码策略 客户端策划策略实例 定义用户第一次登录就修改密码 问题排查手册 重点推荐官方文档 备注:本文依然承接系列文. 1. openld ...

  3. Linux用户密码策略

    使用Linux快三年了,从未想过Linux用户密码策略,从未把一本Linux的书从头看到尾(上学时的教材除外),故不知书上有无介绍,直到最近参加公司的信息安全稽核会议后才开始考虑Linux用户密码策略 ...

  4. Linux(Unix)密码策略问题导致root密码不能修改

    Linux(Unix)密码策略问题导致root密码不能修改 发布时间:  2016-01-19 浏览次数:  1034 下载次数:  5 用户修改了密码配置文件,导致root账户修改密码时报如下错误: ...

  5. 关于linux系统密码策略的设置

    由于工作需要最近需要将公司的多台linux服务器进行密码策略的设置,主要内容是增加密码复杂度. 操作步骤如下,不会的同学可以参考: 操作前需要掌握如下几个简单的知识点:(其实不掌握也行,不过学学没坏处 ...

  6. mysql5.7 密码策略

    查看现有的密码策略 mysql> SHOW VARIABLES LIKE 'validate_password%';+-------------------------------------- ...

  7. MYSQL57密码策略修改

    1.查看当前的密码测试 show variables like 'validate_password%';

  8. Windows 2008修改密码策略方法

    Windows Server 2008默认强制要求定期更改密码,这个功能有时实在是让人烦不胜烦,适当情况下可以考虑关闭. 方法如下: 1.按windows键+R(或者点开始---动行)打开运行窗口,输 ...

  9. MySQL5.7.12新密码登录方式及密码策略

    在Centos6.6上安装MySQL5.7.12时,遇到了一个问题 安装后在/root目录下没有发现有.mysql_secret这个文件,所以没有没法按照官方文档上说的那样使用,这里记录下, 解决方式 ...

随机推荐

  1. Pojo类(plain ordinary java object)

    POJO有一些private的参数作为对象的属性.然后针对每个参数定义了get和set方法作为访问的接口.例如:public class User {private long id;private S ...

  2. iOS 不让自动锁屏

    [UIApplication sharedApplication].idleTimerDisabled=YES;

  3. Base64编码通过URL传值的问题

    base64 编码中使用了 +号,+号通过URL传递时会变成空格,因为编码的方式的问题前台使用:Ext.encode(title_text.getValue().replace(/\+/g, '%2B ...

  4. freeCodeCamp:Find the Longest Word in a String

    找到提供的句子中最长的单词,并计算它的长度. 函数的返回值应该是一个数字. /* 先把字符串 str 转为数组 myarr 将数组myarr中的每个元素长度转换成一个新的数组newarr 将这个数组按 ...

  5. javascript 常用方法

    1. 判断某个object中是否包含某个属性: params.hasOwnProperty($scope.dataObj[i].alias) //true 包含 2.删除object中指定属性 del ...

  6. js控制控件不可编辑

    js 页面加载执行 function Isedit() { //document.getElementById("SyTxtBox23_DataControl").disabled ...

  7. nginx 从vagant挂载目录中加载nginx.conf配置进行开机启动

    nginx从vagrant挂载目录中读取配置启动,将nginx加入开机启动项!开机启动的时候nginx会因为加载不了配置导致启动失败! 原因是开机启动nginx服务在vagrant挂载之前,导致无法正 ...

  8. Java 关键字、标识符、注释、常量与变量、数据类型,算术、赋值、比较、逻辑、位、三元运算符和流程控制、break、continue【3】

    若有不正之处,请多多谅解并欢迎批评指正,不甚感激.请尊重作者劳动成果: 本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing/ ...

  9. Log4j 配置数据库连接池(将日志信息保存到数据库)

    org.apache.log4j.jdbc.JDBCAppender 是利用传统的 JDBC 连接方法,这种方式连接数据库效率低下,为了解决这个问题,现在自定义一个 Log4j 的 Appender, ...

  10. python 常用函数(不定时更新)

    1.遍历文件夹 import os def FileList(rootDir): FL=[] for lists in os.listdir(rootDir): path=os.path.join(r ...