1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 运维 - 正文

君子好学,自强不息!

用户帐号管理是系统管理员最重要的工作之一。而密码安全是系统安全中最受关注的一块。在本教程中,我将为大家介绍如何在 Linux 上设置密码策略。

假设你已经在你的 Linux 系统上使用了PAM (Pluggable Authentication Modules,插入式验证模块),这些年几乎所有的 Linux 发行版都在使用它。

准备工作

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

Debian、Ubuntu 或 Linux Mint 系统上:

$sudoapt-getinstalllibpam-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 系统上:

$sudovi/etc/pam.d/common-password
password[success=1default=ignore]pam_unix.soobscuresha512remember=5

CentOS、Fedora、RHEL 系统上:

$sudovi/etc/pam.d/system-auth
passwordsufficientpamunix.sosha512shadownulloktryfirstpassuseauthtokremember=5

设置最短密码长度

找到同时有 “password” 和 “pam_cracklib.so” 字段并且附加有 “minlen=10” 的那行,它表示最小密码长度为(10 – 类型数量)。这里的 “类型数量” 表示不同的字符类型数量。PAM 提供4种类型符号作为密码(大写字母、小写字母、数字和标点符号)。如果你的密码同时用上了这4种类型的符号,并且你的 minlen 设为10,那么最短的密码长度允许是6个字符。

Debian、Ubuntu 或 Linux Mint 系统上:

$sudovi/etc/pam.d/common-password
passwordrequisitepam_cracklib.soretry=3minlen=10difok=3

CentOS、Fedora、RHEL 系统上:

$sudovi/etc/pam.d/system-auth
passwordrequisitepam_cracklib.soretry=3difok=3minlen=10

设置密码复杂度

找到同时有 “password” 和 “pam_cracklib.so” 字段并且附加有 “ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1” 的那行,它表示密码必须至少包含一个大写字母(ucredit),两个小写字母(lcredit),一个数字(dcredit)和一个标点符号(ocredit)。

Debian、Ubuntu 或 Linux Mint 系统上:

$sudovi/etc/pam.d/common-password
passwordrequisitepam_cracklib.soretry=3minlen=10difok=3ucredit=-1lcredit=-2dcredit=-1ocredit=-1

CentOS、Fedora、RHEL 系统上:

$sudovi/etc/pam.d/system-auth
passwordrequisitepam_cracklib.soretry=3difok=3minlen=10ucredit=-1lcredit=-2dcredit=-1ocredit=-1

设置密码过期期限

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

$sudovi/etc/login.defs
PASSMAXDAYS150PASSMINDAYS0PASSWARNAGE7

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

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

$sudochage-lxmodulo
Lastpasswordchange:Dec30,2013Passwordexpires:neverPasswordinactive:neverAccountexpires:neverMinimumnumberofdaysbetweenpasswordchange:0Maximumnumberofdaysbetweenpasswordchange:99999Numberofdaysofwarningbeforepasswordexpires:7

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

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

$sudochage-E6/30/2014-m5-M90-I30-W14xmodulo

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


本文来源:1818IP

本文地址:https://www.1818ip.com/post/7215.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。