pam密码策略
PAM 的使用历史
PAM 是关注如何为服务验证用户的 API。在使用 PAM 之前,诸如 login(和 rlogin、telnet、rsh)之类的应用程序在 /etc/passwd 中查找用户名,然后将两者相比较并验证用户输入的名称。所有应用程序使用了这些共享服务,但是并未共享实现细节和配置这些服务的权限。
接下来,应用程序开发人员尝试编写自定义过程代码。在此过程中,需要分离应用程序与安全模块(通用安全模块可以在应用程序之间共享并且可以根据需求进行配置)。
PAM 机制将把多个低级别验证模式集成到高级别 API 中,该 API 将允许以独立于底层验证模式的方式编写使用验证的程序。PAM 的主要特征表现为通过 /etc/pam.d 或 /etc/pam.conf 文件实现动态验证配置。
PAM 可以被配置为拒绝某些程序对用户进行验证,或者在某些程序尝试验证时发出警告。PAM 程序将使用 PAM 模块(验证模块):这些模块在运行时与应用程序绑定在一起才能工作。
基于PAM实现的密码策略
需要使用pam_passwdqc.so模块控制权限
修改 vi /etc/pam.d/system-auth
启用 pam_passwdqc.so 验证模块
上传到 /lib64/security/ 目录下
修改
password required pam_passwdqc.so min=disabled,disabled,18,12,12max=30 passphrase=3 match=4 similar=deny enforce=everyone disable_firstupper_lastdigit_check
规则解释如下:
1)只包含一种字符的密码,拒绝(大小写,数字,特殊字符分别为4种字符)
2)只包含两种字符的密码,拒绝
3)如果密码中被识别出了常用的单词,那么最小长度就必须为18位。常用单词的最小识别长度为3.(由passphrase=3制定)
4)包含三种字符的密码,最小长度为12位
5) 包含四种字符的密码,最小长度为12位
6)如果发现本次修改的密码跟老密码有4个substring的长度类似,就认为是弱密码。(match=4 similar=deny)
7) 这个策略对所有用户都生效。(enforce=everyone )
8)默认情况下,对于输入的密码,如果第一个字母是大写字母,或者最后一个字母为数字,则不会计入密码字符的种类。比如:Fuck1234,由于第一个F是大写字母,所以会被认为,该密码只有小写字母和数字两种字符。用disable_firstupper_lastdigit_check 禁止了这种识别。
修改完成后实现 如下
生成密码
可以采用linux自带的系统密码工具
如果未安装
yum install
expect.x86_64
参数使用
-l #
(length of password, default = 7)
指定密码的长度,默认是7位数
-d # (min # of digits, default = 2)
指定密码中数字最少位数,默认是2
-c # (min # of lowercase chars, default = 2)
指定密码中小写字母最少位数,默认是2位
-C # (min # of uppercase chars, default = 2)
指定密码中大写字母最少位数,默认是2位
-s # (min # of special chars, default = 1)
指定密码中特殊字符最少位数,默认是1位
-v (verbose, show passwd interaction)
安装后可以使用 mkpasswd -l 18
-s 4 -c 4 -C 4
普通修改密码报错
passwd: Authentication token manipulation error
要先输入旧密码
临时处理方式:
可以通过passwd -d test清空test密码,然后用户可以自行修改密码
pam密码策略的更多相关文章
- 06-OpenLDAP密码策略
阅读视图 openldap密码策略 OpenLDAP服务端定制密码策略 客户端策划策略实例 定义用户第一次登录就修改密码 问题排查手册 重点推荐官方文档 备注:本文依然承接系列文. 1. openld ...
- Linux用户密码策略
使用Linux快三年了,从未想过Linux用户密码策略,从未把一本Linux的书从头看到尾(上学时的教材除外),故不知书上有无介绍,直到最近参加公司的信息安全稽核会议后才开始考虑Linux用户密码策略 ...
- Linux(Unix)密码策略问题导致root密码不能修改
Linux(Unix)密码策略问题导致root密码不能修改 发布时间: 2016-01-19 浏览次数: 1034 下载次数: 5 用户修改了密码配置文件,导致root账户修改密码时报如下错误: ...
- 关于linux系统密码策略的设置
由于工作需要最近需要将公司的多台linux服务器进行密码策略的设置,主要内容是增加密码复杂度. 操作步骤如下,不会的同学可以参考: 操作前需要掌握如下几个简单的知识点:(其实不掌握也行,不过学学没坏处 ...
- mysql5.7 密码策略
查看现有的密码策略 mysql> SHOW VARIABLES LIKE 'validate_password%';+-------------------------------------- ...
- MYSQL57密码策略修改
1.查看当前的密码测试 show variables like 'validate_password%';
- Windows 2008修改密码策略方法
Windows Server 2008默认强制要求定期更改密码,这个功能有时实在是让人烦不胜烦,适当情况下可以考虑关闭. 方法如下: 1.按windows键+R(或者点开始---动行)打开运行窗口,输 ...
- MySQL5.7.12新密码登录方式及密码策略
在Centos6.6上安装MySQL5.7.12时,遇到了一个问题 安装后在/root目录下没有发现有.mysql_secret这个文件,所以没有没法按照官方文档上说的那样使用,这里记录下, 解决方式 ...
- WindowsServer2012 取消密码策略
1.打开“组策略管理”界面:管理工具 >> 组策略管理,如果找不到该功能,则需要先安装,在“服务管理器”里面“添加新功能”.(或者:开始——运行——gpmc.msc) 2.依次打开“林”& ...
随机推荐
- WEB日期控件
http://www.cnblogs.com/jiangbei/p/7270788.html 日期控件——my97 <div class="form-group"> ...
- fiddler4微信抓包教程
使用fiddler来抓包: 需要先做一些简单的准备工作: 一台带有无线网卡的PC或者笔记本电脑,然后将电脑和手机连接到同一个Wi-Fi网络中,并且保证二者是在同一个ip网段内的: 在电脑上安装 Fid ...
- Django之JWT理解及简单应用
Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(S ...
- Linux 的umask详解
1.由权限得到umask的值 umask是一个系统变量,是一个由3个八进制数字组成的值,具体含义见表:每个数字都是八进制值1.2.4的OR操作结果. 作用:当文件被创建时,为文件的访问权限设定一个掩码 ...
- webpack4.27.1中遇到的错误
1:ERROR in Entry module not found: Error: Can't resolve './src' 我在使用webpack命令时报错,这时因为我的配置文件有问题webpac ...
- spring-boot logback配置
接着上篇的代码,日志在不同环境下的配置也不一样,所以要分开配置,主要使用maven的profile 1.1 在pom.xml中添加 <profiles> <profile> & ...
- spring 初始化
一.Spring 容器高层视图 Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配号Bean之间的依 ...
- AES加密解密 助手类 CBC加密模式
"; string result1 = AESHelper.AesEncrypt(str); string result2 = AESHelper.AesDecrypt(result1); ...
- 201808_summary
@Consumes @Produces分别表示入参和出参数吗 可以这样讲.但是不是很到位.是限定作用,类似于filterconsumes: 指定处理请求的提交内容类型(Content-Type),例如 ...
- Java -- 基于JDK1.8的ArrayList源码分析
1,前言 很久没有写博客了,很想念大家,18年都快过完了,才开始写第一篇,争取后面每周写点,权当是记录,因为最近在看JDK的Collection,而且ArrayList源码这一块也经常被面试官问道,所 ...