在 Linux 系统管理中,密码管理是一项基础且重要的任务,对于 CentOS 系统,无论是忘记 root 密码需要重置,还是为普通用户修改密码,都需要掌握正确的方法,本文将详细介绍在 CentOS 系统中查看和修改密码的多种场景及操作步骤,帮助用户高效、安全地完成密码管理任务。

CentOS 系统密码管理的重要性
密码是系统安全的第一道防线,在 CentOS 系统中,root 用户拥有最高权限,其密码的安全性直接关系到整个系统的安全,而普通用户的密码则关系到个人数据和工作环境的保护,定期修改密码、妥善保管密码是系统管理员和用户的基本责任,在忘记密码或需要批量管理用户密码时,掌握正确的操作方法可以避免系统无法访问或权限混乱等问题。
通过命令行修改普通用户密码
对于普通用户,修改密码相对简单,可以通过 passwd 命令实现,以下是具体操作步骤:
- 登录系统:首先以目标用户身份登录 CentOS 系统,或者使用 root 用户通过
su命令切换到目标用户。 - 执行 passwd 命令:在终端输入
passwd命令,系统会提示输入当前密码(如果已设置)和新密码。 - 设置新密码:按照提示输入新密码两次,确保两次输入一致,密码需要满足系统 complexity 要求(如长度、字符类型等)。
- 确认修改成功:如果密码符合规则,系统会提示“passwd: password updated successfully”,表示密码修改成功。
注意事项:
- 密码修改后,用户需要使用新密码重新登录。
- root 用户修改其他用户的密码,无需输入原密码,直接设置新密码即可。
通过命令行修改 root 密码
root 用户的密码修改与普通用户类似,但需要更高的权限,以下是操作步骤:
- 以 root 用户登录:确保当前登录账户为 root 用户,或通过
sudo su -命令切换到 root。 - 执行 passwd 命令:输入
passwd命令,系统会提示输入新密码。 - 完成设置:输入新密码并确认,系统提示修改成功后,root 密码即更新。
特殊场景:如果忘记 root 密码,需要通过单用户模式或救援模式重置密码,具体方法将在后续章节介绍。

忘记 root 密码时的应急处理
忘记 root 密码时,可以通过以下步骤重置密码,前提是能够物理访问服务器或通过虚拟控制台登录:
- 重启系统:在开机启动时,迅速按下
Esc或Shift键(具体按键取决于 BIOS/UEFI 设置),进入 GRUB 引导菜单。 - 编辑启动参数:选择 CentOS 启动项,按
e键进入编辑模式,找到以linux或linux16开头的行,在行尾添加rd.break参数。 - 挂载根文件系统:系统会进入紧急模式,执行以下命令:
mount -o remount,rw /sysrootchroot /sysroot
- 修改密码:使用
passwd命令重置 root 密码,完成后输入touch /.autorelabel以确保 SELinux 策略正确更新。 - 重启系统:输入
exit和reboot,系统会重新启动并应用新密码。
注意事项:
- 此方法需要物理访问或 KVM 控制台权限,远程操作无法使用。
- SELinux 环境下,必须执行
touch /.autorelabel,否则可能导致系统启动失败。
批量修改用户密码的自动化方法
对于需要批量管理用户密码的场景,可以通过 chpasswd 命令或脚本实现自动化操作,以下是两种常用方法:
- 使用 chpasswd 命令:
- 准备一个包含用户名和密码的文本文件,格式为
username:password,每行一个用户。 - 执行
chpasswd < password_file命令,系统会批量更新密码。
- 准备一个包含用户名和密码的文本文件,格式为
- 使用 Shell 脚本:
- 编写一个简单的脚本,结合
useradd和passwd命令,实现用户创建和密码设置的一体化操作。#!/bin/bash users=("user1" "user2" "user3") passwords=("pass1" "pass2" "pass3") for i in "${!users[@]}"; do echo "${users[i]}:${passwords[i]}" | chpasswd done注意事项:
- 编写一个简单的脚本,结合
- 批量操作前务必备份用户数据,避免误操作导致用户信息丢失。
- 密码文件应妥善保管,避免泄露敏感信息。
密码安全最佳实践
在管理 CentOS 系统密码时,应遵循以下安全原则:

- 密码复杂度:使用包含大小写字母、数字和特殊符号的组合密码,长度至少为 12 位。
- 定期更换:建议每 90 天更换一次密码,避免长期使用同一密码。
- 避免明文存储:在脚本或配置文件中,避免直接明文存储密码,可使用
openssl进行加密处理。 - 多因素认证:对于关键服务器,启用 SSH 密钥认证或双因素认证(2FA),减少密码泄露风险。
常见问题排查
在密码管理过程中,可能会遇到以下问题:
- 密码修改后无法登录:检查密码是否符合复杂度要求,或确认是否启用了密码过期策略。
- chpasswd 命令报错:确保文件格式正确,用户名存在,且脚本有执行权限。
相关问答 FAQs
问题 1:CentOS 系统中如何查看当前用户的密码策略?
解答:可以通过 grep password /etc/login.defs 命令查看全局密码策略,如最小长度、过期时间等,使用 pam_pwquality 模块可以进一步配置密码复杂度规则,具体配置文件为 /etc/security/pwquality.conf。
问题 2:如何禁止普通用户修改自己的密码?
解答:编辑 /etc/passwd 文件,将目标用户的密码字段(第 2 列)更改为 或 ,testuser:*:1001:1001::/home/testuser:/bin/bash,这样用户将无法通过 passwd 命令修改密码,仅 root 用户可以操作。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复