1、密码复杂度策略概念

    在Linux系统中,确保用户密码的复杂度是提高系统安全性的重要措施之一。通过配置密码策略,可以强制用户使用强密码,从而降低被破解的风险。本文将详细介绍如何在 Linux 系统中配置用户密码的复杂度,来确保密码的安全性。

    密码复杂度策略是指一系列规则,用于确保用户设置的密码满足一定的安全标准。这些规则通常包括密码的长度、包含的字符类型(大写字母、小写字母、数字和特殊字符)以及密码不能与用户名相同等要求。在Linux系统中,密码复杂度策略通常通过system-auth或pwquality.conf模块来配置。

2、系统环境

    系统环境:RedHat 8.0

    主要配置文件:system-auth和pwquality.conf

3、通过system-auth模块设置密码复杂度策略

  3.1、修改配置文件

    执行命令:vi /etc/pam.d/system-auth,在文件中password字段的首行增加: password requisite pam_cracklib.so retry=3 difok=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 enforce_for_root ,password字段表示定义密码更改的规则,requisite表示如果该模块认证失败,则后续的模块不会执行。注:该参数新增在最后一行不生效,策略不生效

      参数解释:

      retry=3:密码验证失败时,用户有 3 次重新尝试的机会

      difok=3:密码更改时,允许新、旧密码相同字符的个数是3

      minlen=8:密码长度不少于8位

      ucredit=-1:密码中至少包含有1个大写字母

      lcredit=-1:密码中至少包含有1个小写字符

      dcredit=-1:密码中至少包含有1个数字

      ocredit=-1:密码中至少包含有1个特殊符号

      enforce_for_root:强制对root生效

  3.2、测试结论

    3.2.1、普通用户修改密码

      

    3.2.2、root用户修改密码

      

    3.2.3、测试结论

      通过测试发现:修改system-auth配置文件,对所有用户均生效。

4、通过pwquality.conf模块设置密码复杂度策略

  4.1、修改配置文件

    执行命令: vi /etc/security/pwquality.conf ,将文件中各参数前面的“#”删除,并设置各参数的数值。

   

      参数解释:

      difok = 3:密码更改时,允许新、旧密码相同字符的个数是3

      minlen = 8:密码长度不少于8位

      ucredit = -1:密码中至少包含有1个大写字母

      lcredit = -1:密码中至少包含有1个小写字符

      dcredit = -1:密码中至少包含有1个数字

      ocredit = -1:密码中至少包含有1个特殊符号

      minclass = 2:密码必须包含至少该整数值所指定的字符类别数量,例如,如果将“minclass”设置为2,则密码至少需要包含两个不同的字符类别(如数字和大写字母)

      maxrepeat:新密码中允许的最大连续相同字符数,如果为0代表禁用

      maxclassrepeat:新密码中允许的同一类的最大连续字符数

      authtok_type = enforce_for_root:表示root用户也需遵守该规则

  4.2、测试结论

    4.2.1、普通用户修改密码

      测试截图:

      

    4.2.2、root用户修改密码

      测试截图:

      

    4.2.3、测试结论

      通过测试发现:修改pwquality.conf配置文件,针对普通用户是生效的,但对于root用户而言只会提示,继续修改密码还是可以成功(不清楚为什么,有兴趣的大佬可以继续研究一下)。

5、同时修改system-auth和pwquality.conf配置文件

  5.1、修改配置文件   

    执行命令: vi /etc/pam.d/system-auth ,针对system-auth文件设置各参数:

    执行命令: vi /etc/security/pwquality.conf ,针对pwquality.conf设置各参数

  5.2、测试结论

    测试截图:

      

      通过密码修改测试发现,当system-auth和pwquality.conf配置文件中同时存在密码策略时,密码修改规则以system-auth配置为准,也就是说system-auth的优先级高于pwquality.conf文件。

  

RedHat8密码复杂度策略配置的更多相关文章

  1. MySQL密码复杂度策略

    前言 MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格.使用了该插件会检查设置的密码是否符合当前设置的强度规则,若不满足则拒绝设置. 本文采 ...

  2. Linux系统密码复杂度安全配置

    密码有效期控制 在文件/etc/login.defs中进行设置,如下参数 PASS_MAX_DAYS 180 #密码最长过期天数 PASS_MIN_DAYS 30 #密码最小过期天数 PASS_MIN ...

  3. MySQL密码复杂度与密码过期策略介绍

    前言: 年底了,你的数据库是不是该巡检了?一般巡检都会关心密码安全问题,比如密码复杂度设置,是否有定期修改等.特别是进行等保评测时,评测机构会要求具备密码安全策略.其实 MySQL 系统本身可以设置密 ...

  4. 【ORACLE】oracle数据库用户密码复杂度配置

    -- 设置密码复杂度 SQL> @ /u01/app/oracle/product/11.2.0/db_1/rdbms/admin/utlpwdmg.sql -- 测试 SQL> alte ...

  5. linux加固安全之密码复杂度

    随着linux系统使用的普遍性,对linux用户及系统安全要求也随之提升,单纯从单位制度,用户安全意识上来规范,并不能杜绝弱口令,必须从技术上要求用户定时修改复杂的密码,从而提高用户和系统的安全性. ...

  6. oracle 11g/12c 密码复杂度验证设置

    ############################################################################### ###### 11g ###### ## ...

  7. 基于Memcached的tomcat集群session共享所用的jar及多个tomcat各种序列化策略配置

    原文:http://www.cnblogs.com/interdrp/p/4096466.html 多个tomcat各种序列化策略配置如下:一.java默认序列化tomcat配置conf/contex ...

  8. zabbix密码复杂度有效期安全增强,符合三级等保要求。

    一.关于三级等保要求 1.zabbix默认没有设置密码复杂度功能,密码有效期功能. 2.zabbix具备失败处理功能,但是没有页面手动调试,需要修改源代码. 3.zabbix具备超时退出功能. 二.整 ...

  9. Mariadb开启密码复杂度

    mariadb开启密码复杂度 #安装插件# INSTALL SONAME 'simple_password_check'; #设置输入错误多少次锁定# set global max_password_ ...

  10. Centos 7防火墙策略配置指南

    Centos 7防火墙策略配置指南 -- 清听凌雪慕忆 @ 目录 1. 开启防火墙 1.1 user切换到root用户 1.2 查看防火墙服务状态 1.3 查看firewall的状态 1.4 启动/关 ...

随机推荐

  1. 【Amadeus原创】wordpress 从服务器收到预料之外的响应。此文件可能已被成功上传。请检查媒体库或刷新本页。此响应不是合法的JSON响应。解决方法。

    两种报错方式: 1.此响应不是合法的JSON响应. 2.从服务器收到预料之外的响应.此文件可能已被成功上传.请检查媒体库或刷新本页. 情况:媒体服务器上传小文件没问题,大一点的文件报这个错误. 原因: ...

  2. Flutter GestureDector点击空白区域不响应

    GestureDector点击空白区域不响应 当GestureDector嵌套Container时,当Container子组件为Text时,点击空白区域不响应点击事件 GestureDetector( ...

  3. 【Vue】前端直接显示MySQL Datatime时间,显示为英文如何处理

    问题如图 想让时间显示为自己想要的格式,可以自己编写一个函数 const formatDate= (timestamp)=> { const date = new Date(timestamp) ...

  4. Vscode实现应用qss样式表

    qss简介 qss(Qt Style Sheets)是一种基于CSS的样式语言,用于描述用户界面元素的外观和感觉.qss可以让用户在不修改代码的情况下,轻松地自定义应用程序的外观. 其语法基本如下: ...

  5. 【转】ReentrantReadWriteLock读写锁详解

    https://www.cnblogs.com/xiaoxi/p/9140541.html 一.读写锁简介 现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁.在没有写操作的时 ...

  6. DVWA靶场搭建及错误解决教程

    前言 DVWA(Damn Vulnerable Web Application)靶场是一个旨在帮助安全人员和开发人员学习和提高网络安全技能的开源项目.它是一个故意存在多种安全漏洞的 PHP/MySQL ...

  7. 跟着源码学IM(十一):一套基于Netty的分布式高可用IM详细设计与实现(有源码)

    本文由will分享,个人博客zhangyaoo.github.io,原题"基于Netty的IM系统设计与实现",有修订和重新排版. 1.引言 本文将要分享的是如何从零实现一套基于N ...

  8. 即时通讯技术文集(第16期):IM架构设计技术精选(第一部分) [共17篇]

    为了更好地分类阅读总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第16 期. [- 1 -] 浅谈IM系统的架构设计 [链接] http://www.52im.net/thread ...

  9. Golang基础-字节跳动青训营

    Golang 安装 访问 https://go.dev/ ,点击 Download ,下载对应平台安装包,安装即可 如果无法访问上述网址,可以改为访问 https://studygolang.com/ ...

  10. vue基础4

    Q:1.动画的使用方法以及动画库的使用方式 2.vue中的指令有哪些? 3.vue中生命周期钩子函数有哪些?分别代表什么含义? 4.filter的语法是什么? 5.computed的特点是什么? 6. ...