当前位置:   article > 正文

CentOS7密码复杂度配置_centos7 密码复杂度

centos7 密码复杂度

CentOS7密码复杂度配置

CentOS7/RHEL7 开始使用pam_pwquality模块进行密码复杂度策略的控制管理。pam_pwquality替换了原来Centos6/RHEL6中的pam_cracklib模块,并向后兼容。

使用pam_pwquality模块设置密码复杂度

可以通过两种方式实现:

1. 直接指定pam_pwquality模块参数

具体操作:即在/etc/pam.d/system-auth中的“password requisite pam_pwquality.so”行尾添加具体参数,比如“minlen=16 ucredit=-1 lcredit=-1 ocredit=-1 dcredit=-1”,表示最小密码长度16位,数字,大小写字母,特殊字符均至少包含1位。

2.通过修改/etc/security/pwquality.conf参数文件,定义密码复杂度规则

具体操作:修改pwquality.conf参数文件有2种方法,可以参考“CentOS7 设置密码规则” by shaonbean。

(1)直接vi或vim编辑器 ,或者甚至用sed命令,修改/etc/security/pwquality.conf

(2)使用authconfig命令修改,修改后最终会体现在/etc/security/pwquality.conf文件中

使用authconfig修改密码复杂度策略

3.centos7如何继续使用pam_cracklib模块检验密码复杂度 

由于Centos7默认取消了对pam_cracklib模块的使用,配置文件/etc/pam.d/system-auth中没有pam_cracklib.so相关的条目。

有同学直接在/etc/pam.d/system-auth文件末尾添加“password requisite pam_cracklib.so try_first_pass retry=3 type= minlen=16 ucredit=-1 lcredit=-1 ocredit=-1 dcredit=-1” ,然后发现实际上密码复杂度策略并没有生效。

经测试是因为位置不对,把上面的语句添加在“pam_pwquality.so”所在行的前面,即可使策略生效。如下所示:

出于安全考虑设置密码规则:

  • 设置密码到期的天数。
  • 用户必须在天内更改密码。
  • 此设置仅影响创建用户,而不会影响现有用户。
  • 如果设置为现有用户,请运行命令“chage -M(days)(user)”。
  1. PASS_MAX_DAYS 60 # 密码到期时间
  2. PASS_MIN_DAYS 3 # 初始密码更改时间
  3. PASS_MIN_LEN 8 # 密码最小长度
  4. PASS_WARN_AGE 7 # 密码过期提示时间

 

  • 重复密码限制使用
  1. [root@linuxprobe~]# vi /etc/pam.d/system-auth
  2. # near line 15: prohibit to use the same password for 5 generation in past
  3. password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5
  • 设置最小密码长度。

                用户不能设置小于此参数的密码长度。

  1. # set 8 for minimum password length
  2. [root@linuxprobe~]# authconfig --passminlen=8 --update
  3. # the parameter is set in a config below
  4. [root@linuxprobe~]# grep "^minlen" /etc/security/pwquality.conf
  5. minlen = 8
  6. # 在新密码中设置同一类的允许连续字符的最大数目
  7. # set 4 for maximum number of allowed consecutive characters of the same class
  8. [root@linuxprobe~]# authconfig --passmaxclassrepeat=4 --update
  9. # the parameter is set in a config below
  10. [root@linuxprobe~]# grep "^maxclassrepeat" /etc/security/pwquality.conf
  11. maxclassrepeat = 4
  12. # 在新密码中至少需要一个小写字符。
  13. [root@linuxprobe~]# authconfig --enablereqlower --update
  14. # the parameter is set in a config below
  15. # (if you'd like to edit the value, edit it with vi and others)
  16. [root@linuxprobe~]# grep "^lcredit" /etc/security/pwquality.conf
  17. lcredit = -1
  18. # 在新密码中至少需要一个大写字符
  19. [root@linuxprobe~]# authconfig --enablerequpper --update
  20. # the parameter is set in a config below
  21. # (if you'd like to edit the value, edit it with vi and others)
  22. [root@linuxprobe~]# grep "^ucredit" /etc/security/pwquality.conf
  23. ucredit = -1
  24. # 在新密码中至少需要一个数字
  25. [root@linuxprobe~]# authconfig --enablereqdigit --update
  26. # the parameter is set in a config below
  27. # (if you'd like to edit the value, edit it with vi and others)
  28. [root@linuxprobe~]# grep "^dcredit" /etc/security/pwquality.conf
  29. dcredit = -1
  30. # 密码包括至少一个特殊字符
  31. [root@linuxprobe~]# authconfig --enablereqother --update
  32. # the parameter is set in a config below
  33. # (if you'd like to edit the value, edit it with vi and others)
  34. [root@linuxprobe~]# grep "^ocredit" /etc/security/pwquality.conf
  35. ocredit = -1
  36. # 在新密码中设置单调字符序列的最大长度。 (ex⇒'12345''fedcb'
  37. [root@linuxprobe~]# vi /etc/security/pwquality.conf
  38. # add to the end
  39. maxsequence = 3
  40. # 设置新密码中不能出现在旧密码中的字符数
  41. [root@linuxprobe~]# vi /etc/security/pwquality.conf
  42. # add to the end
  43. difok = 5
  44. # 检查来自用户passwd条目的GECOS字段的长度超过3个字符的字是否包含在新密码中。
  45. [root@linuxprobe~]# vi /etc/security/pwquality.conf
  46. # add to the end
  47. gecoscheck = 1
  48. # 设置不能包含在密码中的Ssace分隔的单词列表
  49. [root@linuxprobe~]# vi /etc/security/pwquality.conf
  50. # add to the end
  51. badwords = denywords1 denywords2 denywords3
  52. # 为新密码设置hash / crypt算法。 (默认为sha512
  53. # show current algorithm
  54. [root@linuxprobe~]# authconfig --test | grep hashing
  55. password hashing algorithm is md5
  56. # chnage algorithm to sha512
  57. [root@linuxprobe~]# authconfig --passalgo=sha512 --update
  58. [root@linuxprobe~]# authconfig --test | grep hashing
  59. password hashing algorithm is sha512

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/190732
推荐阅读
相关标签
  

闽ICP备14008679号