在服务器管理中,系统账户的密码安全直接影响整体系统的防御能力,本文针对CentOS系统用户,提供六种密码管理场景的操作指南与安全建议,涵盖日常维护与应急处理场景。
一、常规密码修改流程

普通用户登录系统后,打开终端执行以下命令:
passwd
输入当前密码验证身份后,系统将引导设置符合复杂度要求的新密码,建议采用大小写字母、数字、符号的组合,长度不少于12位。
管理员修改其他用户密码时需root权限:
passwd username
此操作无需验证用户原密码,建议配合审计日志使用,修改完成后可通过last命令查看账户登录记录,确认操作有效性。
二、Root账户密码重置方案
当忘记root密码时,需通过GRUB引导进入单用户模式:

1、重启服务器,在GRUB菜单界面按"e"进入编辑模式
2、找到linux16开头的行,末尾添加rd.break
3、按Ctrl+X进入紧急模式后执行:
mount -o remount,rw /sysroot chroot /sysroot passwd root touch /.autorelabel exit reboot
此过程涉及系统底层操作,建议在物理控制台执行,完成后系统会自动重启并重建SELinux上下文,耗时约3-5分钟。
三、密码策略强化配置
通过修改/etc/login.defs文件设定基础策略:

PASS_MAX_DAYS 90 PASS_MIN_DAYS 7 PASS_MIN_LEN 10 PASS_WARN_AGE 14
安装cracklib增强模块提升密码强度:
yum install cracklib
编辑/etc/pam.d/system-auth文件,在password部分添加:
password requisite pam_cracklib.so try_first_pass retry=3 minlen=12 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1
该配置要求密码包含数字、大小写字母及特殊字符,建议首次部署时设置,避免后期因策略变更导致用户无法修改密码。
四、强制密码更新机制
管理员可通过下列命令强制用户在下次登录时修改密码:
chage -d 0 username
查看账户密码状态:
chage -l username
输出信息包含密码最后修改日期、有效期等关键信息,建议将此项操作纳入离职员工账户处理流程。
五、异常登录检测方法
通过分析/var/log/secure日志文件检测暴力破解行为:
grep "Failed password" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr该命令可统计失败登录尝试的IP地址及次数,检测到异常时,应立即通过fail2ban或iptables封锁可疑IP,并通知相应用户修改密码。
六、密钥认证替代方案
对于频繁访问的服务账户,建议采用SSH密钥认证:
ssh-keygen -t rsa -b 4096 ssh-copy-id user@host
修改/etc/ssh/sshd_config文件禁用密码登录:
PasswordAuthentication no ChallengeResponseAuthentication no
重启sshd服务前需确认密钥登录正常,避免被锁定在系统之外。
密码管理本质是风险控制的过程,定期审计账户使用情况,及时清理闲置账户,比对系统日志与用户报备的登录行为,这些措施共同构成服务器安全防护的基础架构,在云环境普遍采用的今天,建议将密码修改流程与IAM系统集成,实现多因素认证与自动化轮换机制。(作者亲测有效方案:在Ansible部署脚本中嵌入密码过期策略,实现新主机交付时的自动安全配置)
