Linux CentOS7 服务器密码策略配置修改

密码组合策略修改说明

CentOS密码复杂度配置通过/etc/pam.d/system-auth文件中的pam_cracklib.so模块来实现。

vim /etc/pam.d/system-auth ,查看下文件内容。

新的配置在password requisite pam_pwquality.so后面添加即可。

配置参数:

retry=N:定义登录/修改密码失败时,可以重试的次数

difok=N:新密码必需与旧密码不同的位数 difok=3 新密码必须与旧密码有3位不同

minlen=N:新密码的最小长度

dcredit=N:当N>0时表示新密码中数字出现的最多次数;当N<0时表示新密码中数字出现最少次数;

ucredit=N: 当N>0时表示新密码中大写字母出现的最多次数;当N<0时表示新密码中大写字母出现最少次数;

lcredit=N: 当N>0时表示新密码中小写字母出现的最多次数;当N<0时表示新密码中小写字母出现最少次数;

ocredit=N:当N>0时表示新密码中特殊字符出现的最多次数;当N<0时表示新密码中特殊字符出现最少次数;

maxrepeat=N:拒绝包含多于N个相同连续字符的密码。 默认值为0表示禁用此检查

maxsequence=N:拒绝包含长于N的单调字符序列的密码。默认值为0表示禁用此检查。实例是'12345'或'fedcb'。除非序列只是密码的一小部分,否则大多数此类密码都不会通过简单检查。

enforce_for_root: 如果用户更改密码是root,则模块将在失败检查时返回错误。默认情况下,此选项处于关闭状态,只打印有关失败检查的消息,但root仍可以更改密码。不要求root用户输入旧密码,因此不会执行比较旧密码和新密码的检查

也可修改/etc/security/pwquality.conf文件,但改文件优先级低于上面。 

密码过期策略修改说明

方法一

vim /etc/login.defs

含义如下: 

PASSMAXDAYS 99999 #密码的最大有效期, 99999:永久有期

PASSMINDAYS 0 #是否可修改密码,0可修改,非0修改密码后下一次修改需间隔多少天后可修改

PASS_MIN_LEN 5 #密码最小长度,使用pam_cracklib module,该参数不再有效

PASSWARNAGE 7 #密码失效前多少天在用户登录时通知用户修改密码

方法二

执行

chage -M 60 root

chage命令用法参考链接:Linux chage命令用法_Ahuuua的博客-CSDN博客

 实例

目标:root密码位数10位,至少包含一个大写字母(ucredit),一个小写字母(lcredit),一个数字(dcredit)和一个标点符号(ocredit),密码至少60天修改一次,新密码和旧密码不可相同 。

1)至少包含一个大写字母(ucredit),一个小写字母(lcredit),一个数字(dcredit)和一个标点符号(ocredit)

注意: 如果需要修改root用户密码必须满足密码策略,需加入enforce_for_root配置,修改密码时不满足策略,只会报错,而不会禁止修改。

2)密码至少60天修改一次:

但上面的今几天的验证后未生效,换了下面的:

换了之后的效果:

3)新密码和旧密码不可相同 :

配置为difok=1  有一位不相同。

由于改密码时不要求root用户输入旧密码,因此不会执行比较旧密码和新密码的检查 ,root新旧密码还是可以相同的,这个目前还不知道该怎么配置。

猜你喜欢

转载自blog.csdn.net/Ahuuua/article/details/125333088