当前位置:首页 > Centos > 正文

CentOS密码策略配置详解(手把手教你设置Linux系统密码安全规则)

在企业级服务器管理中,CentOS密码策略是保障系统安全的第一道防线。合理配置密码复杂度、有效期和历史记录等规则,可以有效防止弱密码带来的安全风险。本文将从零开始,详细讲解如何在CentOS 7/8系统中配置符合安全规范的Linux密码安全策略,即使是Linux新手也能轻松上手。

CentOS密码策略配置详解(手把手教你设置Linux系统密码安全规则) CentOS密码策略  Linux密码安全 CentOS系统安全 密码复杂度配置 第1张

一、准备工作:确认系统版本与必要工具

首先,请通过以下命令确认你的CentOS版本:

cat /etc/redhat-release

本文适用于CentOS 7及以上版本。确保系统已安装 pam_pwquality(CentOS 7)或 pam_pwquality(CentOS 8,原名为pam_cracklib)模块,这是实现密码复杂度控制的核心组件。

二、配置密码复杂度(PAM模块设置)

编辑PAM配置文件以启用密码强度检查:

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

找到包含 password requisite pam_pwquality.so 的行(CentOS 7)或 password requisite pam_pwquality.so(CentOS 8),在其后添加或修改参数。例如:

password    requisite     pam_pwquality.so \    try_first_pass \    local_users_only \    retry=3 \    minlen=10 \    dcredit=-1 \    ucredit=-1 \    lcredit=-1 \    ocredit=-1 \    difok=5 \    enforce_for_root

参数说明:

  • minlen=10:密码最小长度为10位
  • dcredit=-1:至少包含1个数字
  • ucredit=-1:至少包含1个大写字母
  • lcredit=-1:至少包含1个小写字母
  • ocredit=-1:至少包含1个特殊字符(如!@#$%)
  • difok=5:新密码至少有5个字符与旧密码不同
  • enforce_for_root:对root用户也强制执行此策略

三、设置密码有效期与历史记录

编辑 /etc/login.defs 文件,配置全局密码生命周期策略:

sudo vi /etc/login.defs

修改以下关键参数:

PASS_MAX_DAYS   90      # 密码最长使用90天PASS_MIN_DAYS   1       # 两次修改密码最少间隔1天PASS_MIN_LEN    10      # 密码最小长度(建议与PAM一致)PASS_WARN_AGE   7       # 密码过期前7天开始警告用户

此外,为防止用户重复使用旧密码,需配置密码历史记录。编辑 /etc/pam.d/system-auth,在 password sufficient pam_unix.so 行添加 remember=5 参数:

password    sufficient    pam_unix.so sha512 shadow nullok \    try_first_pass use_authtok remember=5

这表示系统将记住最近5次使用的密码,禁止用户重复使用。

四、验证与测试配置

完成上述配置后,创建一个测试用户并尝试修改密码,观察系统是否按预期执行策略:

sudo useradd testusersudo passwd testuser

输入不符合策略的密码(如“123456”),系统应提示错误并要求重新输入。成功设置后,可通过以下命令查看密码状态:

chage -l testuser

五、总结

通过以上步骤,你已经成功为CentOS系统配置了完整的密码复杂度配置策略。这些设置不仅满足基本的安全合规要求,还能显著提升服务器的CentOS系统安全等级。建议定期审查策略有效性,并根据组织安全政策进行调整。

记住:安全无小事,从强密码开始!