RedHat8密码复杂度策略配置
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密码复杂度策略配置的更多相关文章
- MySQL密码复杂度策略
前言 MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格.使用了该插件会检查设置的密码是否符合当前设置的强度规则,若不满足则拒绝设置. 本文采 ...
- Linux系统密码复杂度安全配置
密码有效期控制 在文件/etc/login.defs中进行设置,如下参数 PASS_MAX_DAYS 180 #密码最长过期天数 PASS_MIN_DAYS 30 #密码最小过期天数 PASS_MIN ...
- MySQL密码复杂度与密码过期策略介绍
前言: 年底了,你的数据库是不是该巡检了?一般巡检都会关心密码安全问题,比如密码复杂度设置,是否有定期修改等.特别是进行等保评测时,评测机构会要求具备密码安全策略.其实 MySQL 系统本身可以设置密 ...
- 【ORACLE】oracle数据库用户密码复杂度配置
-- 设置密码复杂度 SQL> @ /u01/app/oracle/product/11.2.0/db_1/rdbms/admin/utlpwdmg.sql -- 测试 SQL> alte ...
- linux加固安全之密码复杂度
随着linux系统使用的普遍性,对linux用户及系统安全要求也随之提升,单纯从单位制度,用户安全意识上来规范,并不能杜绝弱口令,必须从技术上要求用户定时修改复杂的密码,从而提高用户和系统的安全性. ...
- oracle 11g/12c 密码复杂度验证设置
############################################################################### ###### 11g ###### ## ...
- 基于Memcached的tomcat集群session共享所用的jar及多个tomcat各种序列化策略配置
原文:http://www.cnblogs.com/interdrp/p/4096466.html 多个tomcat各种序列化策略配置如下:一.java默认序列化tomcat配置conf/contex ...
- zabbix密码复杂度有效期安全增强,符合三级等保要求。
一.关于三级等保要求 1.zabbix默认没有设置密码复杂度功能,密码有效期功能. 2.zabbix具备失败处理功能,但是没有页面手动调试,需要修改源代码. 3.zabbix具备超时退出功能. 二.整 ...
- Mariadb开启密码复杂度
mariadb开启密码复杂度 #安装插件# INSTALL SONAME 'simple_password_check'; #设置输入错误多少次锁定# set global max_password_ ...
- Centos 7防火墙策略配置指南
Centos 7防火墙策略配置指南 -- 清听凌雪慕忆 @ 目录 1. 开启防火墙 1.1 user切换到root用户 1.2 查看防火墙服务状态 1.3 查看firewall的状态 1.4 启动/关 ...
随机推荐
- 【Python】【爬虫】【爬狼】005_爬取数据处理-有的链接缺少了“http”的解决方案(not in)
我认为这一篇文章是没有意义的,说白了就是判断字符串是否包含指定内容. 爬图片链接的时候,发现了一个问题 有的链接缺了http 像我这种使用HTML表格输出的,本来是可以把图片链接显示为图片的,但是有的 ...
- Docker非root用户修改/etc/hosts文件
本文会讲解在Docker容器环境下,非root用户如何编辑修改/etc/hosts文件. 1.背景和需求描述 环境:Docker 运行用户:非root用户,如普通用户1001 需求:应用运行在容器内, ...
- PMML讲解及使用
1. PMML概述 PMML全称预言模型标记语言(Predictive Model Markup Language),利用XML描述和存储数据挖掘模型,是一个已经被W3C所接受的标准.使用pmml储存 ...
- Sealos Devbox 基础教程:使用 Cursor 从零开发一个代码猜古诗小游戏
给你一段代码,让你根据代码来猜对应的古诗词,你能猜对吗? 这不是玩笑,还真有人这么干 这是一张在 1024 程序员节流传的代码猜诗句小游戏,相信很多程序员小朋友都看到过. 今天我们将用魔法打败魔法,通 ...
- Qt编写可视化大屏电子看板系统21-数据转曲线
一.前言 数据转曲线,这个用的非常多,比如串口或者网络收到的数据,对特定的字节数据绘制实时的曲线,或者对历史记录存储的数据进行曲线绘制,按照约定的规则,数据转曲线绘制必须提供规则,没有规则只能对所有数 ...
- [转]Bundle Adjustment简述
原文链接:https://optsolution.github.io/archives/58892.html或https://blog.csdn.net/optsolution/article/det ...
- JpaRepository动态代理执行原理
本文基于spring-boot-starter-data-jpa:2.7.17分析 SpringBoot 里集成Jpa自动配置是如何处理的 通过分析SpringBoot 自动配置核心源码可以找到Jpa ...
- 场景题:假设有40亿QQ号,但只有1G内存,如何实现去重?
当数据量比较大时,使用常规的方式来判重就不行了.例如,使用 MySQL 数据库判重,或使用 List.contains() 或 Set.contains() 判重就不行了,因为数据量太大会导致内存放不 ...
- 深入剖析数据删除操作:DELETE 语句的使用与管理实践
title: 深入剖析数据删除操作:DELETE 语句的使用与管理实践 date: 2025/1/8 updated: 2025/1/8 author: cmdragon excerpt: 数据删除( ...
- springboot之结合mybatis增删改查解析
1. 场景描述 本节结合springboot2.springmvc.mybatis.swagger2等,搭建一个完整的增删改查项目,希望通过这个基础项目,能帮忙朋友快速上手springboot2项目. ...