Linux-密码复杂度限制
前言
设置一个复杂的密码,可以有效的提升系统的安全性。在Linux上有PAM(Pluggable Authentication Modules)里面有一个pam_cracklib.so来控制密码的复杂度。
配置文件路径
CentOS / RHEL / RedHat / Fedora : /etc/pam.d/system-auth
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 :密码字典,这个是验证用户的密码是否是字典一部分的关键
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生效
Linux-密码复杂度限制的更多相关文章
- linux 密码复杂度设置
/etc/login.defs文件,里面几个选项 PASS_MAX_DAYS 90 #密码最长过期天数 PASS_MIN_DAYS 80 #密码最小过期天数 PASS_MIN_LEN 10 #密码最小 ...
- Linux密码复杂度问题
转:http://hunkz.blog.51cto.com/6157447/1630369
- Linux下修改密码复杂度
在linux,设置密码复杂度的方法有几个1. 一个是在/etc/login.defs文件,里面几个选项PASS_MAX_DAYS 90 #密码最长过期天数PASS_MIN_DAYS 80 #密码最小过 ...
- linux加固安全之密码复杂度
随着linux系统使用的普遍性,对linux用户及系统安全要求也随之提升,单纯从单位制度,用户安全意识上来规范,并不能杜绝弱口令,必须从技术上要求用户定时修改复杂的密码,从而提高用户和系统的安全性. ...
- Linux系统密码复杂度安全配置
密码有效期控制 在文件/etc/login.defs中进行设置,如下参数 PASS_MAX_DAYS 180 #密码最长过期天数 PASS_MIN_DAYS 30 #密码最小过期天数 PASS_MIN ...
- linux(centos)下密码有效期和密码复杂度设置
1.密码有效期 方法一: chage -l 用户名 查看用户的过期时间 chage -M 99999 用户名 用命令修改过期时间为永久 chage -M 90 用户名 设置密码有效期为90天 chag ...
- Oracle11g R2创建PASSWORD_VERIFY_FUNCTION对应密码复杂度验证函数步骤
Oracle11g R2创建PASSWORD_VERIFY_FUNCTION对应密码复杂度验证函数步骤 运行测试环境:数据库服务器Oracle Linux 5.8 + Oracle 11g R2数据库 ...
- JavaScript密码复杂度
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
- 检查密码复杂度的C#正则表达式
在用户注册与修改.重置密码时,强制密码达到一定的复杂度,是减少盗号的有效措施之一. 而在代码中检查密码复杂度就需要用到正则表达式,比如要求密码必须包含数字.小写或大写字母.特殊字符.字符数在8-30之 ...
- 使用单用户模式破解Linux密码
使用单用户模式破解Linux密码 特别说明:在实际工作应用中,安装Linux操作系统必须设置装载口令,否则很容易被破解. 1.使用reboot指令重启Linux操作系统 2.在进入操作系统数秒时,单击 ...
随机推荐
- ESP8266-iot-简介1
ESP8266简介
- html5 存储方式
localstorage(永久保存)&&sessionstorage(重新打开浏览器会消失) sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在 ...
- docker搭建gitbook服务
Gitbook Gitbook简介 GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书,GitBook 并非关于 Git ...
- How do I create a .pyc file?
Python automatically compiles your script to compiled code, so called byte code, before running it. ...
- 去掉html标签方法
public static string CleanHtml(string strHtml) { strHtml = Regex.Replace(strHtml, @"(\<scrip ...
- Cocos Creator 入门
Cocos Createor 资源 略 场景 节点树 节点与组件 坐标系 脚本 组件声明,生命周期回调 var Component = cc.Class({ // 用于序列化,可省略 name: 's ...
- Django 使用第三方服务发送电子邮件
在 Django 网站中使用 mailgun 的邮件收发服务. 1.在 mailgun 官网上注册个账号(免费,免费账号每个月有10000条收发邮件的服务,对我来说已经完全够用了),注册完成后界面如图 ...
- centos7 docker 安装 mysql5.7.24 导入12G的sql
先在CentOS7里面安装docker Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker .通过 uname - ...
- mysql的innodb自增主键为什么不是连续的
图1 图1中是表t原有的数据,这个时候我们执行show create table t会看到如下输出,如图二所示现在的自增值是2,也就是下一个不指定主键值的插入的数据的主键就是2 图2 Innodb引擎 ...
- python3入门之列表和元组
获得更多资料欢迎进入我的网站或者 csdn或者博客园 前面一张主要学习了Python的安装,以及第一个程序helloword的编写,以及简单的输入和输出函数,这章主要介绍序列,列表,元组 序列 这章 ...