centos7的密码安全策略加固
centos7操作系统
在CentOS 7上实现密码复杂度策略设置
一.使用login.defs文件
解析:/etc/login.defs 是设置新建用户帐号限制的文件。该文件里的配置对root用户无效。/etc/login.defs 文件用于在Linux创建用户时,对用户的一些基本属性做默认设置,例如指定用户 UID 和 GID 的范围,用户的过期时间,密码的最大长度等
可用参数
PASS_MAX_DAYS
PASS_MIN_DAYS
PASS_MIN_LEN
PASS_WARN_AGE UID_MIN
UID_MAX
GID_MIN
GID_MAX
CREATE_HOME
UMASK 077
USERGROUPS_ENAB
ENCRYPT_METHOD
二./etc/security/pwquality.conf详解
可用参数
1 retry=N:定义登录/修改密码失败时,可以重试的次数;
2 Difok=N:定义新密码中必须有几个字符要与旧密码不同。但是如果新密码中有1/2以上的字符与旧密码不同时,该新密码将被接受
3 minlen=N:定义用户密码的最小长度
4 dcredit=N:定义用户密码中必须包含多少个数字
5 ucredit=N:定义用户密码中必须包含多少个大写字母
6 lcredit=N:定义用户密码中必须包含多少个小些字母
7 ocredit=N:定义用户密码中必须包含多少个特殊字符(除数字、字母之外)
8 minclass=N: 密码组成至少拥有的字符种类(数字,大写字母小写字母特殊字符)
9 maxrepeat=N: 密码组成允许的最长连续字母长度
10 maxclassrepeat=N: the maximum number of allowed consecutive(连续)characters of the same class in the new password
11
12 其中 N=-1表示,至少有一个 |对于密码策略 <0表示最少要含有 >0表示最多
13 N=0 不检查
14 N=1
三 使用PAM pwquality模块完成 关键词: /etc/pam.d/system-auth
linux对应的密码策略模块有:pam_passwdqc 和 pam_pwquality 。其中pam_passwdqc模块对应的是/etc/login.defs,pam_pwquality对应的是/etc/security/pwquality.conf
如果直接在system-auth文件修改的话可能要加一下参数 但是如果直接找到文件的话就可以直接修改文件对应参数的数字
1 vi /etc/pam.d/system-auth
#进入system-auth文件后源文件为

由上面的pam模块文件内容看,可以将pam配置文件分为四列,
- 第一列代表模块类型
- 第二列代表控制标记
- 第三列代表模块路径
- 第四列代表模块参数
文件解析
第一列
1. auth组件:认证接口(authentication) 要求验证密码
2.account组件:检测用户是否允许访问.检测用户是否过期或则在末端时间内能否登陆
3.password组件:设置并验证密码
4.session组件:配置和管理用户sesison
第二列
1. required:该模块必须success才能进行继续。即使失败用户也不会立刻获知,直到所有相关模块完成
2.requisite:该模块必须success才能使认证继续进行. 如果模块失败则立刻停止执行
3.suffifient:如果失败则忽略
4.optinal:忽略结果,不管是否失败
第三列
| PAM模块 | 结合管理类型 | 说明 | ||
| pam_unix.so |
auth |
提示用户输入密码,并与/etc/shadow文件相比对.匹配返回0 |
||
| account | 检查用户的账号信息(包括是否过期等).帐号可用时,返回0. | |||
| password | 修改用户的密码. 将用户输入的密码,作为用户的新密码更新shadow文件 | |||
| pam_shells.so |
auth account |
如果用户想登录系统,那么它的shell必须是在/etc/shells文件中之一的shell | ||
| pam_deny.so |
account auth password session |
该模块可用于拒绝访问 | ||
| pam_permit.so |
auth account password session |
模块任何时候都返回成功. | ||
| pam_securetty.so | auth | 如果用户要以root登录时,则登录的tty必须在/etc/securetty之中. | ||
| pam_listfile.so |
auth account password session |
访问应用程的控制开关 | ||
| pam_cracklib.so | password |
这个模块可以插入到一个程序的密码栈中,用于检查密码的强度. |
||
| pam_limits.so | session | 定义使用系统资源的上限,root用户也会受此限制,可以通过/etc/security/limits.conf或/etc/security/limits.d/*.conf来设定 | ||
centos7的密码安全策略加固的更多相关文章
- Centos7添加密码安全策略
设置密码中至少包含一个小写字符,执行命令:# authconfig --enablereqlower --update查看设置:# grep "^lcredit" /etc/sec ...
- Centos7破解密码的两种方法--技术流ken
Centos7忘记密码 在工作或者自己练习的时候我们难免会大意忘掉自己的root密码,有些同学忘掉密码竟然第一选择是重装系统,工作中可万万使不得! 本篇博客将讲解两种最常用的破解centos7忘掉 ...
- centos7忘记密码解决办法
centos7重置密码: centos7一改以往风格,很多方面都做了改进,尤其是修改root密码,一般centos6以前直接进入grub然后从单用户模式进去就可以修改,可centos7不同,笔者今天修 ...
- centos7忘记密码处理办法
centos7忘记密码处理办法 此界面按e进入grub编辑界面 进入grub编辑界面.把linux16这行的ro修改为rw init=/sysroot/bin/sh. 按ctrl+x进入单用户模式 登 ...
- centos7 修改密码
Centos7破解密码的方法 Centos7忘记密码 在工作或者自己练习的时候我们难免会大意忘掉自己的root密码,有些同学忘掉密码竟然第一选择是重装系统,工作中可万万使不得! 本篇博客将讲解 ...
- centOS7忘记密码,修改root账号密码
centOS7忘记密码,修改root账号密码 RHEL7 的世界发生了变化,重置 root 密码的方式也一样.虽然中断引导过程的旧方法(init=/bin/bash)仍然有效,但它不再是推荐的.“Sy ...
- Centos7 忘记密码解决方法
一.Centos7 忘记密码解决方法 1.进入单用户模型 重启 Linux 系统主机并出现引导界面时,按下键盘上的 e 键进入内核编辑界面 然后按向下键,找到以“Linux16”开头的行,在该行的最后 ...
- 完整的WindowsServer服务器系统初始化配置、安全策略加固和基线检查脚本等保2.0适用
转载自:https://www.bilibili.com/read/cv14326780?spm_id_from=333.999.0.0 0x00 前言简述 最近单位在做等保测评,由于本人从事安全运维 ...
- CentOS7 登陆密码遗忘和修改
在虚拟机当中我们设置的linux密码可能会遗忘,那么我们怎么来找回密码,并且重置密码呢? 1:我们需要进入单用户模式才能修改密码 1:重启linux,进入grub界面,敲击空格键暂停 2:按 ...
- linux centos7 root密码重置
转:http://blog.chinaunix.net/uid-21209618-id-4738916.html 分类: LINUX 三年左右没接触linux技术工作,忘记的有很多.不知该怎么去运用. ...
随机推荐
- 关于 Knex update 语句报错:Undefined binding(s) detected when compiling UPDATE
下图是详细的报错截图,我敢保证前端传递的数据一个不漏,但还是报我没有绑定对应的字段: 官方文档的使用案例基本上都是where 子句在 update 语句之前.但,select 语句的 where 子句 ...
- corundum:100GNIC学习(三)——恢复工程
前文:(一)https://www.cnblogs.com/shroud404/p/15364812.html (二)https://www.cnblogs.com/shroud404/p/15412 ...
- C# 元组类型和元组文本
从 C# 7.0 开始,可以使用元组类型和元组文本轻松实现此目的. 元组类型定义元 组元素的数据类型. 元组文本提供返回的元组的实际值. 在下面的示例中, (string, string, strin ...
- Qt中的多窗体编程(续一)
在前面一节中,已经把所有需要的窗体都创建好了,下面将依次实现预设的功能. 一.实现点击菜单打开模式子窗体的功能. 1.在编辑模式下双击Forms下的"mainWindow.ui", ...
- umi学习记录
菜单路由: 方法1:在config中配置全部路由,由后台返的的菜单进行匹配 方法2:动态注册路由和添加菜单--目前仅尝试了umi@2 的版本 原理:使用umi的运行时配置patchRoutes和ren ...
- cmake:macro,function中ARGV,ARGN参数的区别
cmake中的宏(macro)和函数(function)都支持动态参数 变量ARGC记录传入的参数个数 变量ARGV0,ARGV1,...顺序代表传入的参数 变量ARGV则是一个包含所有传入参数的li ...
- vue中aciton使用的自我总结
一.需求: 我需要从后台中获取菜单列表在路由守卫中进行限制. 二.遇到的问题: action中setMenuData的方法如下: actions: { setMenuData(context){ ge ...
- CodeGym自学笔记04——什么是编译器?
编译器 编程语言可以同时被人和编译器所理解.编译器是一个特殊的程序,它可将用编程语言编写的程序转换成一系列的机器代码. 程序员通常用编程语言来编写程序,然后运行编译器,将程序员编写的程序代码文件转换为 ...
- ORACLE 遇到ORA 03113 数据库连接卡住
环境:RAC 双节点 发现两个节点的alert日志中出现大量的 opiodr aborting process unknown ospid (150950) as a result of ORA-60 ...
- 还在拿flex进行布局吗?快来试试grid网格布局吧
例: 遇到这种布局要求我们应该怎么办? 方法1:使用flex布局 <style> * { padding: 0; margin: 0; } .gird_Box { width: 100vw ...