在CentOS 7中,如果忘记root密码,可以通过修改系统启动参数进入单用户模式或紧急模式进行重置。以下是两种常用方法,适用于物理机或虚拟机环境:
方法一:通过rd.break
参数重置密码
步骤:
-
重启系统并进入GRUB菜单 在开机界面出现时,按任意键停止自动启动,按方向键选择默认启动项(通常为第一行),按
e
进入编辑模式 -
修改启动参数 找到以
linux16
或linux
开头的行,在行末添加rd.break
(注意与前后参数用空格隔开),按Ctrl+X
启动系统 -
挂载文件系统并切换环境
mount -o remount,rw /sysroot # 挂载根目录为可读写 chroot /sysroot # 切换到系统根目录环境
-
重置密码
passwd root # 输入两次新密码
touch /.autorelabel # 若系统启用SELinux需执行此命令
exit # 退出chroot环境
reboot # 重启系统
方法二:通过init=/bin/sh
参数重置密码
步骤:
-
进入GRUB编辑模式 同样在开机界面按
e
键编辑启动项,找到linux16
行,将ro
改为rw init=/bin/sh
(或直接在行末追加init=/bin/sh
),按Ctrl+X
启动 -
挂载根目录并重置密码
mount -o remount,rw / # 确保根目录可写 passwd root # 输入新密码 touch /.autorelabel # 处理SELinux标签 exec /sbin/init # 或直接输入reboot 重启
注意事项
- SELinux处理 若系统启用了SELinux,必须执行
touch /.autorelabel
以更新安全上下文,否则可能导致无法登录