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. java多线程详解(6)-线程间的通信wait及notify方法

    Java多线程间的通信 本文提纲 一. 线程的几种状态 二. 线程间的相互作用 三.实例代码分析 一. 线程的几种状态 线程有四种状态,任何一个线程肯定处于这四种状态中的一种:(1). 产生(New) ...

  2. redis在windows中的安装

    之前介绍过了redis的相关知识,以及在linux平台上安装redis,为了方便学习,这里记录一下redis在windows平台上的安装步骤 1.下载redis下载地址https://github.c ...

  3. ns3模拟无线Ad hoc 网络通信

    Ad hoc网络 Ad hoc网是一种多跳的.无中心的.自组织无线网络,又称为多跳网(Multi-hop Network).无基础设施网(Infrastructureless Network)或自组织 ...

  4. C#签名 NX90

    1.在VS中添加D:\Siemens\NX90\ \NXSigningResource.res文件,右击文件属性,将资源变为 嵌入式资源,即生成方式 2.编译生成exe文件或者dll文件,例如:xxx ...

  5. (Unity)Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进展混淆,避免被反编译

    Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进行混淆,避免被反编译. 1.打开VS,博主所用版本是Visual Studio 2013. 2.新建一个VC项目 ...

  6. 1201新课程TSQL语句

    1.创建数据库 create datebase 表名称 2.删除数据库 drop datebase 表名称 3.创建表 -create table test(表名称)( code(列名称) varch ...

  7. 用函数datepart获取当前日期、周数、季度

    用函数datepart处理就可以了,示例:select datepart(weekday,getdate()) as 周内的第几日select datepart(week,getdate()) as ...

  8. 将src非空的属性注入到des中

    package lizikj.bigwheel.common.vo.merchandise.util; import java.lang.reflect.Field; import lizikj.bi ...

  9. vim 空格 制表符

    set tabstop=4        设定tab宽度为4个字符set shiftwidth=4     设定自动缩进为4个字符set expandtab        用space替代tab的输入 ...

  10. 【整理】--VC 编译整理

    .h用于编译阶段的审核,如在math.h中有函数声明:int abs(int);但是在使用中写为#include <math.h>...abs(3,5);编译器阶段就会检测出错误. .dl ...