在管理Linux服务器时,忘记root密码是一件棘手的事情,但幸运的是,CentOS提供了救援模式来帮助我们重置root密码。本文将以CentOS 7至9为例,详细介绍如何通过GRUB引导菜单进入紧急模式(或称为救援模式),进而恢复root用户的密码
准备工作
- 确保系统可重启:在进行任何操作之前,请确保可以安全地重启服务器,不会影响到关键业务运行。
- 备份数据:虽然本操作主要是修改密码,但在处理系统级操作时,良好的习惯是先做好数据备份。
步骤详解
我这里以Red Hat Enterprise Linux 9 系统 为例
1. 重启系统
首先,重启服务器,您会看到GRUB引导加载器的界面
2. 进入编辑模式
在GRUB界面,选择默认的内核启动项(通常是第一个选项),然后按键盘上的 e
键进入GRUB的编辑模式。
3. 修改启动参数
找到 linux16
或 linuxefi
开头的行,或者是quiet结尾的地方(取决于您的CentOS版本和配置)
在该行的末尾添加 rd.break
参数,这会让系统在初始化阶段暂停。
修改完毕后,按 Ctrl
+X
键继续启动过程,此时系统将进入紧急模式。
4. 重新挂载根文件系统
您会进入一个简化的shell环境,首先需要重新挂载根文件系统为读写模式,执行以下命令:
mount -o remount,rw /sysroot
5.切换到系统的真实根目录环境
chroot /sysroot
6. 重置root密码
接下来,使用 passwd
命令来重置root用户的密码,或者使用明文方式修改密码均可
passwd root
echo "your password" | passwd --stdin root # 明文方式
7. 更新SELinux上下文
对于启用了SELinux的系统,为了防止文件权限问题,需要创建一个.autorelabel
文件,以便下次启动时自动重新标记文件系统的SELinux上下文:touch /.autorelabel
7. 退出并重启
完成上述步骤后,依次执行以下命令退出紧急模式并重启系统(最好使用sync
命令同步一下,确保所有未缓冲的文件系统数据都被写入磁盘,推荐但是非必须):
“`bash
sync
exit
exit
“`
然后输入两次exit退出重启,并观察是否触发selinux-autorelabel
重启之后就可以用新的密码登录系统了~
本文来自投稿,不代表极客运维立场,如若转载,请注明出处:https://www.geeklinux.cn/jsjc/linux/107.html
评论列表(1条)
121212