密码复杂度

1.密码有效期

cp /etc/login.defs /etc/login.defs.bak
vim /etc/login.defs
# Password aging controls:
#
#    PASS_MAX_DAYS    Maximum number of days a password may be used.
#    PASS_MIN_DAYS    Minimum number of days allowed between password changes.
#    PASS_MIN_LEN    Minimum acceptable password length.
#    PASS_WARN_AGE    Number of days warning given before a password expires.
#
PASS_MAX_DAYS    90
PASS_MIN_DAYS    80
PASS_MIN_LEN            10
PASS_WARN_AGE    7

2.密码复杂度

cp /etc/pam.d/system-auth-ac /etc/pam.d/system-auth-ac.bak
vim /etc/pam.d/system-auth

。。。。。。
#password    requisite     pam_cracklib.so try_first_pass retry=3 type=             ##注释这一行,添加下一行
password    requisite     /lib/security/$ISA/pam_passwdqc.so  min=disabled,24,16,12,10  passphrase=3 max=40 enforce=everyone retry=3 similar=deny
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    required      pam_deny.so

3.测试

echo "mhokwyaofnrd"|passwd --stdin root         ##仅仅小写,不通过
echo "IEJVRRzfdHPI"|passwd --stdin root         ##大写,小写,不通过

echo "cyd******Ab8C"|passwd --stdin root          ##大小写,特殊字符,通过。

echo "Jes&us*****12"|passwd --stdin root          ##通过

如果出现下面模块不支持的情况

请换种 模块支持( 上面使用了/lib/security/$ISA/pam_passwdqc.so 模块

时间: 2024-10-11 07:20:33

密码复杂度的相关文章

js正则表达式:验证邮箱格式、密码复杂度、手机号码、QQ号码

直接上代码 Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83

密码复杂度检查函数

密码复杂度检测.py 1 import re 2 ''' 3 接口调用示例: 4 import 密码复杂度检测 as pc 5 6 while True: 7 str1 = input("请输入密码> ").strip() 8 if pc.check_password_complexity(str1,2): 9 print("%s复杂度符合要求"%str1) 10 break 11 12 13 密码复杂度检查,包括两种复杂度检查, 14 level=1时, 1

Linux下pam密码复杂度限制

linux系统是如何实现对用户的密码的复杂度的检查的呢?系统对密码的控制是有两部分组成:1 cracklib2 /etc/login.defs pam_cracklib.so 才是控制密码复杂度的关键文件/lib/security/pam_cracklib.soredhat公司专门开发了cracklib这个安装包来判断密码的复杂度 # rpm -qa | grep cracklibcracklib-2.8.9-3.1 \\检查软件是否安装cracklib-dicts-2.8.9-3.1 \\密码

检查密码复杂度的C#正则表达式

原文:检查密码复杂度的C#正则表达式 在用户注册与修改.重置密码时,强制密码达到一定的复杂度,是减少盗号的有效措施之一. 而在代码中检查密码复杂度就需要用到正则表达式,比如要求密码必须包含数字.小写或大写字母.特殊字符.字符数在8-30之间,对应的正则表达式如下: var regex = new Regex(@" (?=.*[0-9]) #必须包含数字 (?=.*[a-zA-Z]) #必须包含小写或大写字母 (?=([\x21-\x7e]+)[^a-zA-Z0-9]) #必须包含特殊符号 .{8

Linux 密码复杂度

我们在使用linux系统设置密码的时候,经常遇到这样的问题,系统提示:您的密码太简单,或者您的密码是字典的一部分.那么系统是如何实现对用户的密码的复杂度的检查的呢? 系统对密码的控制是有两部分(我知道的)组成: 1 cracklib 2 login.defs 声明:login.defs主要是控制密码的有效期.对密码进行时间管理.此处不细谈. login.defs --shadow password suite configuration pam_cracklib.so 才是控制密码复杂度的关键文

[转] 检查密码复杂度的 C# 正则表达式

在用户注册与修改.重置密码时,强制密码达到一定的复杂度,是减少盗号的有效措施之一. 而在代码中检查密码复杂度就需要用到正则表达式,比如要求密码必须包含数字.小写或大写字母.特殊字符.字符数在 8-30 之间,对应的正则表达式如下: var regex = new Regex(@" (?=.*[0-9]) #必须包含数字 (?=.*[a-zA-Z]) #必须包含小写或大写字母 (?=([\x21-\x7e]+)[^a-zA-Z0-9]) #必须包含特殊符号 .{8,30} #至少8个字符,最多30

Javascript校验密码复杂度的正则表达式

1.密码中必须包含大小字母.数字.特称字符,至少8个字符,最多30个字符. var regex = new RegExp('(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{8,30}'); if (!regex.test('[email protected]')) { alert("您的密码复杂度太低(密码中必须包含字母.数字.特殊字符),请及时改密码!"); } 2.密码中必须包含字母.数字.特称字符,至少8个字符,最多30个

linux加固安全之密码复杂度

随着linux系统使用的普遍性,对linux用户及系统安全要求也随之提升,单纯从单位制度,用户安全意识上来规范,并不能杜绝弱口令,必须从技术上要求用户定时修改复杂的密码,从而提高用户和系统的安全性. 密码策略的2个基本 一个密码最长使用期限,另一个是密码复杂度:这两个分别是/etc/login.defs 和/etc/pam.d/system-auth来控制. 1. vi /etc/login.defs PASS_MAX_DAYS 90 #密码最长使用期限 PASS_MIN_DAYS 5 #密码最

【JS】JS校验密码复杂度(必须包含字母、数字、特殊符号)

#场景一:密码中必须包含大小写 字母.数字.特称字符,至少8个字符,最多30个字符: 1 var pwdRegex = new RegExp('(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{8,30}'); 2 3 if (!pwdRegex.test('[email protected]')) { 4 alert("您的密码复杂度太低(密码中必须包含大小写字母.数字.特殊字符),请及时修改密码!"); 5 } #场景二:密码