背景:
搭建了好久的服务器,忘记了root密码,里面搭建了好多学习框架,重装linux的话太费事费力,所以学习找回linux的root密码也是一个重要的知识点。
在找回密码之前,先普及一下linux的版本知识
1.使用命令:uname -a
Linux localhost.localdomain 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec 22 13:25:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
2.使用命令:cat /etc/centos-release
CentOS Linux release 8.5.2111
会发现他们的版本为什么不一样呢,其实他们的版本是对应的:
版本号 4.18.0-348.7.1.el8_5.x86_64 是 Linux 内核的版本信息,具体可以分解如下:
- 4.18.0:这是内核的主版本号和次版本号。4.18 是内核的主要版本,表示这是 2018 年发布的 Linux 内核版本。
- 348.7.1:这是内核位于该版本的修补程序编号。这通常表示该版本经过了多少次小更新和修复。
- el8:表示这个内核是为 Enterprise Linux 8(例如 RHEL 8 或 CentOS 8)构建的,
el
通常表示这个版本是针对企业Linux的。 - x86_64:表示这个内核是为 64 位架构(即 x86_64 或 AMD64)构建的。
因此,4.18.0-348.7.1.el8_5.x86_64是一个为 CentOS 8 或 RHEL 8 发布的内核版本,这个特定内核在基础内核 4.18.0 的基础上添加了 348次修复和增强。
可能大家又会问CentOS是什么,和红帽redhat什么区别,其实她们都是基于linux内核的操作系统,除了她们两以外还有很多操作系统,这里不在细说了,而CentOS 8 是基于红帽 Red Hat Enterprise Linux (RHEL) 8 的一个衍生版本。具体来说,CentOS 8 是 RHEL 8 的开源社区版本,两者之间几乎共享相同的代码基础和功能,而且CentOS是免费的。
言归正传:
找root密码:
1.重启操作系统,进入
输入e,进入紧急模式
在相应位置输入rw init=sysroot/bin/sh, 如果没有找到相应位置,可以在该段的最后 UTF-8后边,
输入 空格rw init=sysroot/bin/sh, 效果一样的。
3,然后按住ctrl + x 继续下一步:
输入chroot /sysroot
输入passwd,修改root密码
修改密码需要输入两次,最后新建一个隐藏文件:touch /.autorelabel
以上执行完成后,输入两次exit后,退出内核修改模式,可以执行reboot -r now 进行重启,最后输入新修改的密码即可登录。