Linux基本设置技巧:如何限制用户的最小密码长度

Linux基本设置技巧:如何限制用户的最小密码长度,第1张

修改/etc/login.defs里面的PASS_MIN_LEN的值。比如限制用户最小密码长度是8:

PASS_MIN_LEN 8

这样用户设置密码的时候如果输入的密码长度小于8将不能设置

修改Linux系统用户密码长度和复杂性之前在修改linux密码长度的时候都是去修改/etc/login.defs文件的pass_min_len 参数,可是地球人都知道,这个参数根本不具备强制性,用户一样可以使用短密码.真正要对密码复杂性进行限制,还需要cracklib来完成. 红帽的系统一般都已经安装了, 可以rpm -qa|grep crack来查看,一般是两个包cracklib参数主要有:1.debug用于syslog日志记录 2.type=abcd当修改密码时,典型的提示信息是:New linux password:Retype Linux password:可以通过abcd来替换linux这个单词3.retry=3用户有几次出错的机会4.difok=5新密码中至少有几个字符是和以前的密码不同的. 5.difignore=3忽略新密码中不同字符之前的几个字母.6.minlen=8 最小密码长度7.dcreditr=5密码中最多几个数字8.ucredit=5密码中最多几个大些字母.9.lcredit=5新密码中最多几个消协字母10.ocredit=5新密码中最多几个特殊字符11.use_authtok使用密码字典中的密码cracklib密码强度检测过程首先检查密码是否是字典的一部分,如果不是,则进行下面的检查||/|/密码强度检测过程||/|/新密码是否旧密码的回文||/|/新密码是否只是就密码改变了大小写||/|/新密码是否和旧密码很相似||/|/新密码是否太短||/|/新密码的字符是否是旧密码字符的一个循环例如旧密码:123新密码:231||/|/这个密码以前是否使用过配置样例:/etc/pam.d/system-auth修改password requisite /lib/security/$ISA/pam_cracklib.so retry=3为password requisite /lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 difok=5

准备工作:

安装 PAM 的 cracklib 模块,cracklib 能提供额外的密码检查能力。

Debian、Ubuntu 或 Linux Mint 系统上:

$ sudo apt-get install libpam-cracklib

CentOS、Fedora、RHEL 系统已经默认安装了 cracklib PAM 模块,所以在这些系统上无需执行上面的 *** 作。

为了强制实施密码策略,我们需要修改 /etc/pam.d 目录下的 PAM 配置文件。一旦修改,策略会马上生效。

注意:此教程中的密码策略只对非 root 用户有效,对 root 用户无效。

禁止使用旧密码

找到同时有 “password” 和 “pam_unix.so” 字段并且附加有 “remember=5” 的那行,它表示禁止使用最近用过的5个密码(己使用过的密码会被保存在 /etc/security/opasswd 下面)。

Debian、Ubuntu 或 Linux Mint 系统上:

$ sudo vi /etc/pam.d/common-password

CentOS、Fedora、RHEL 系统上:

$ sudo vi /etc/pam.d/system-auth

设置最短密码长度

找到同时有 “password” 和 “pam_cracklib.so” 字段并且附加有 “minlen=10”

的那行,它表示最小密码长度为(10 - 类型数量)。这里的 “类型数量” 表示不同的字符类型数量。PAM

提供4种类型符号作为密码(大写字母、小写字母、数字和标点符号)。如果你的密码同时用上了这4种类型的符号,并且你的 minlen

设为10,那么最短的密码长度允许是6个字符。

Debian、Ubuntu 或 Linux Mint 系统上:

$ sudo vi /etc/pam.d/common-password

CentOS、Fedora、RHEL 系统上:

$ sudo vi /etc/pam.d/system-auth

设置密码复杂度

找到同时有 “password” 和 “pam_cracklib.so” 字段并且附加有 “ucredit=-1 lcredit=-2

dcredit=-1 ocredit=-1”

的那行,它表示密码必须至少包含一个大写字母(ucredit),两个小写字母(lcredit),一个数字(dcredit)和一个标点符号

(ocredit)。

Debian、Ubuntu 或 Linux Mint 系统上:

$ sudo vi /etc/pam.d/common-password

CentOS、Fedora、RHEL 系统上:

$ sudo vi /etc/pam.d/system-auth

设置密码过期期限

编辑 /etc/login.defs 文件,可以设置当前密码的有效期限,具体变量如下所示:

$ sudo vi /etc/login.defs

这些设置要求用户每6个月改变他们的密码,并且会提前7天提醒用户密码快到期了。

如果你想为每个用户设置不同的密码期限,使用 chage 命令。下面的命令可以查看某个用户的密码限期:

$ sudo chage -l xmodulo

默认情况下,用户的密码永不过期。

下面的命令用于修改 xmodulo 用户的密码期限:

$ sudo chage -E 6/30/2014 -m 5 -M 90 -I 30 -W 14 xmodulo

上面的命令将密码期限设为2014年6月3日。另外,修改密码的最短周期为5天,最长周期为90天。密码过期前14天会发送消息提醒用户,过期后帐号会被锁住30天。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8936309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存