zoukankan      html  css  js  c++  java
  • Linux-密码复杂度限制

    前言

    设置一个复杂的密码,可以有效的提升系统的安全性。在Linux上有PAM(Pluggable Authentication Modules)里面有一个pam_cracklib.so来控制密码的复杂度。

    Linux-密码复杂度限制

     


    配置文件路径

    CentOS / RHEL / RedHat / Fedora : /etc/pam.d/system-auth

    Linux-密码复杂度限制

     


    pam_cracklib.so

    pam_cracklib.so中有很多参数可以选择,具体配置如下:

    debug : 此选为记录Syslog日志。

    type=safe : 输入新密码的时候给予的提示。

    retry=N : 改变输入密码的次数,默认值是1。就是说,如果用户输入的密码强度不够就退出。可以使用这个选项设置输入的次数,以免一切都从头再来。

    difok=N : 默认值为8。这个参数设置允许的新、旧密码相同字符的个数。

    difignore=N : 多少个字符的密码应收到difok将被忽略。默认为23

    minlen=N : 新的最低可接受的大小密码。除了在新密码的字符数。此参数的默认值是9,它是一个老式的UNIX密码的字符相同类型的所有好,但可能过低,利用一个MD5的系统增加安全性。

    dcredit=N : 限制新密码中至少有多少个数字。

    ucredit=N : 限制新密码中至少有多少个大写字符。

    lcredit=N : 限制新密码中至少有多少个小写字符。

    ocredit=N : 限制新密码中至少有多少个其它的字符。此参数用于强制模块不提示用户的新密码,但以前使用的堆叠模块提供的密码之一。

    dictpath=/data/dict :密码字典,这个是验证用户的密码是否是字典一部分的关键

    Linux-密码复杂度限制

     

    cracklib密码强度检测过程:

    1、首先检查密码是否是字典的一部分,如果不是,则进行下面的检查

    2、密码强度检测过程

    3、新密码是否旧密码的回文

    4、新密码是否只是就密码改变了大小写

    5、新密码是否和旧密码很相似

    6、新密码是否太短

    7、新密码的字符是否是旧密码字符的一个循环 例如旧密码:123 新密码:231

    8、这个密码以前是否使用过。

    例子

    password required pam_cracklib.so difok=3 minlen=15 dcredit=2 ocredit=2

    允许有3个新、旧密码相同字符的、最小长度15位 和至少包含2数字、至少包含2个特殊字符数

    password required pam_cracklib.so dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0 minlen=8 enforce_for_root

    最小长度为8和至少1位数字,1位大写字母,和另外1个字符的密码,此设置对root生效

  • 相关阅读:
    将wordpress中的文章导出为markdown
    配置腾讯云的出入站规则
    C/C++基础:main函数的参数argc和argv
    解决IDEA maven多模块打包问题
    信息安全系统设计基础第十一周学习总结
    201355315宋宸宁20135333苏正生信息安全系统设计基础——实验一实验报告
    读书笔记——《暗时间》
    信息安全系统设计基础第十周学习总结——实践
    家庭作业
    信息安全系统设计基础第九周学习总结
  • 原文地址:https://www.cnblogs.com/ct20150811/p/9946782.html
Copyright © 2011-2022 走看看