我们都有 inherited systems 但我们没有构建任何部分。 如果您是一名系统管理员,那么总有一天您需要在某个系统上工作,但由于各种原因而没有root密码——从统计学上讲,这一天将在最糟糕的时刻到来:您需要现在访问该系统。
恢复根密码可能看起来很可怕,但并不一定很困难或复杂。在RHEL/CentOS版本7或更高版本的系统上,由于有了Grub引导加载程序,实际上非常简单。
-
Begin by starting a kettle of water to boil (Optional, but recommended).
-
First, you need console access: Either at a keyboard and monitor locally, or via Virtual Machine remote console, you will need to see and interact with the bootloader.
-
Reboot the machine: As soon as the bootloader comes up with the selection screen, quickly tap the up and down arrows up and down to pause the countdown.
-
选择你想引导进入的内核,然后点击“:这将带你进入一个屏幕,在那里你可以编辑grub引导加载程序脚本。
e
-
找到指向内核的那一行:这里将有一系列“引导参数”:这些是在加载内核期间传递的指令。
-
对于RedFlag/RHEL/CentOS 7,行以“linux16”开始。
-
对于RHEL/Centos 8x和Fedora,行以
linux
开头。
-
-
在这一行的末尾加上“rd.break” (这里还可以做其他事情,但就目前而言,这是您所需要的全部) [ 注意:此更改是临时的 ]。
-
现在点击运行编辑过的引导加载程序脚本。
Ctrl-x
-
您将启动一个“rescue”提示,它看起来像这样:。
switch_root:/#
-
以读写模式重新挂载根分区,以便可以运行命令。 输入以下内容:然后按回车键。
mount -o remount rw /sysroot
-
现在输入并回车。这将把您切换到该目录,并使其成为执行命令的路径。
chroot /sysroot``sysroot (/)
-
现在,您可以使用命令简单地更改根用户的密码。
passwd
-
接下来,在重新启动之前,需要确保SELinux允许文件更改。在提示符下,输入:。这将在下一次重新启动时向SELinux发出文件系统已经更改(更改的密码)的信号,并允许加载更改。这将导致整个文件系统被“重新标签”,这可能需要一段时间,具体取决于文件系统的大小和机器的速度,所以要注意这种可能性。
touch /.autorelabel
-
键入离开chroot环境并进入。
exit
reboot
-
Go and make a cup of tea to reward yourself for your cleverness: The water should be boiling now. (Again, optional but recommended and highly dependent on your participation with Step #1.)
就是这样。您现在应该拥有访问该系统的根密码。
网友评论