CentOS7重置root密码
CentOS7重置root密码

CentOS7重置root密码

前提条件

在学习sudo -u -i命令时,发现sudo一直出错,然后发现切换root用户无法成功,因此,从网上查阅大量文章,后通过网上的教程解决了该问题,现将该教材搬运到我的网站上,进一步分享给大家。

环境配置

系统版本号:CentOS7 7.9.2009

硬件环境:VMware虚拟机

重置步骤

1、重启CentOS系统

 在重启的过程中,按一次“Esc“键,如果一直按,可能会存在卡住的情况(我遇到过)

注意:如果展示上图,按一次“Esc“键退出来

正常来讲,是GRUB(GRand Unified Bootloader)菜单页面,这是一个常用的开源引导加载程序,用于在计算机启动时加载操作系统。它是 Linux 系统中最常见的引导加载程序之一,也可以用于多个操作系统的启动,如 Linux、Windows、macOS 等。

2、编辑引导选项

然后按“e”键来编辑引导选项

在编辑模式下,找到`linux`开头的行,然后在该行的末尾添加

rd.break

init=/bin/sh        

`linux`开头的行通常在底部,可以按⬇️键到编辑页面的底部,然后修改下图的标识部分

添加完成后,按下`Ctrl+X`或者`F10`来启动修改后的内核。

3、进入单用户模式

在提示符中输入

mount -o remount,rw /

将已挂载的根目录改为可写。

然后使用`passwd`命令重置root用户和普通用户的密码,如果你有多个账号的话

passwd root
passwd [用户名]

接着输入下列的代码

touch /.autorelabel
exec /sbin/init

这两个命令分别是创建名为“.autorelabel”的文件,指示系统在下次启动时重建SELinux标签,和执行 exec /sbin/init,重新启动 init 进程,使系统应用新的SELinux标签。

然后,让我们等待一段时间,系统就会自动启动,并且新密码生成。

此外还有一个重要提示,如果出现上图的“SMBus Host Controller not enabled!”之后,不要进行任何操作,等系统完成修改后,系统会自动重启。如果中途退出虚拟机,会导致root修改前与修改后的密码均无法使用,且无法在开机界面中进入单用户模式。

多提一点,这里上面的报错题到了`piix4_smbus`和`uvcvideo`,可能意味着系统中存在一些主板和USB设备相关的问题,因为是在虚拟机中操作的,因此目前是忽视这些报错并等待系统重启。

4、重置密码完成

登录密码后,可能存在数秒的黑屏,然后返回到我们熟悉的Centos界面。

防止踩坑

书接上回,出现上图的“SMBus Host Controller not enabled!”之后,不要进行任何操作,等系统完成修改后,系统会自动重启。如果中途退出虚拟机,会导致root修改前与修改后的密码均无法使用,且无法在开机界面中进入单用户模式。        如果中途退出虚拟机,那么我们需要在编辑引导选项时,把ro改成rw,以及还是在末尾添加init=/bin/sh,请见下图。

修改 rw 的跟后面进入单用户的 `mount -o remount,rw /`命令是一个意思,作用是重新挂载文件系统,并将其从只读模式(read-only)改为读写模式(read-write),

然后,我们书归正传,继续操作后续的步骤。

参考教程

解决centos7修改root密码报错以及无法进入单用户模式

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注