Oracle Linux 7.6 重置root密码

一、重新启动系统,在引导菜单中,按“e”键编辑第一个引导项。

二、从grub选项中,找到以“linux16”开头的行并转到它的末尾。输入'rd.break'这行末尾没有引号,如下所示。


按“Ctrl+x”启动这些选项。这将使用root shell引导到initramfs提示符。

三、输入如下命令进行修改root密码:

unset LANG
mount -o remount,rw /sysroot
chroot /sysroot

passwd # 在此处修改密码

touch /.autorelabel
exit
exit

上面命令解释:

3.1、mount-o remount,rw/sysroot

在这个阶段,根文件系统以只读模式装载到/sysroot,并且必须使用读/写(rw)权限重新装载,以便我们实际进行任何更改。这是通过'mount-o remount,rw/sysroot'命令完成的。

3.2、chroot/sysroot

重新装载文件系统后,将其更改为chroot,以便/sysroot用作文件系统的根目录。这是必需的,以便我们运行的任何进一步的命令都是针对/sysroot的。这是通过运行'chroot/sysroot'来完成的。

3.3、passwd

从这里可以使用'passwd'命令重置根密码。

3.4、touch /.autorelabel

如果不使用SELinux,可以在此时重新启动,一切正常,但是默认情况下CentOS/RHEL7在强制模式下使用SELinux,因此我们需要修复/etc/shadow文件的上下文。这是因为当运行'passwd'命令时,它会创建一个新的/etc/shadow文件。由于SELinux没有在这种模式下运行,因此创建的文件没有SELinux上下文,这可能会在重新启动时导致问题。使用'touch'创建 /.autorelabel命令。

创建此文件将在下次启动时自动重新标记所有文件。请注意,这可能需要一些时间,这取决于文件系统上的文件量。对于一个普通的CentOS 7服务器,我需要大约2分钟才能完成。

3.5、两次 exit

输入'exit'命令两次,第一个将退出chroot-jail环境,第二个将退出initramfs根shell并重新启动系统。

3.6、操作截图如下:

四、正常引导操作系统:

重新启动完成后,您就可以使用root帐户和新设置的密码。

点赞

发表回复

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