CentOS 7 忘记root密码的解决方法

这是自己忘记密码root密码第二次了,可以再一再二但是不能再三。因此在此记录在网上找的

如何更换root密码的方法。

(这篇文章是参考https://blog.csdn.net/q290994/article/details/78825667,但整个过程自己亲测有效)

 

一、系统环境

CentOS 7.5 最小安装版

 

二、开机进入单用户模式(图片因为自己没有截图故使用这篇文章的原图以作说明)

 

可以看到 最下面的说明 按 e 进入单用户模式(那为什么要进入单用户模式更换root 密码,大家可以

参考下面来自百度知道的回答)

0:关机

1:单用户模式

2:无网络支持的多用户模式

3:有网络支持的多用户模式

4:保留,未使用

5:有网络支持有X-Window支持的多用户模式

6:重新引导系统,即重启

Linux 系统处于正常状态时,服务器主机开机(或重新启动)后,能够由系统引导器程序自动

引导 Linux 系统启动到多用户模式,并提供正常的网络服务。如果系统管理员需要进行系统维护

或系统出现启动异常时,就需要进入单用户模式或修复模式对系统进行管理了。使用单用户模式有

一个前提,就是您的系统引导器(grub)能正常工作,否则要进行系统维护就要使用修复模式。

特注:进入单用户模式,没有开启网络服务,不支持远程连接

Linux 系统中不同的运行级别(Run Level)代表了系统的不同运行状态,例如 Linux 服务器正常运

行时处于运行级别3,是能够提供网络服务的多用户模式;而运行级别 1 只允许管理员通过服务器主

机的单一控制台进行操作,即“单用户模式”。

 

三、修改引导

 

删除第16这一行最后的 rhgb和 quiet参数(在UEFI系统中是linuxefi),删除rhgb和quiet这两个参数

是为了显示系统信息

(GRUB是GRand Unified Bootloader的缩写,它是一个多重操作系统启动管理器

quiet表示在启动过程中只有重要信息显示,类似硬件自检的消息不回显示)

添加rd.break enforcing=0 (rd.break 的意思是在启动过程中,当initramfs要将控制权交到systemd的

时候中断启动过程 这段解释来自unix.net bbs网友的回答)

 

四、按CTRL+X用改变的参数引导系统

 

五、在/sysroot/文件系统被挂载为只读时,你不能改变密码,因为文件系统为不可写入。重

新挂载文件系统为可写入。

mount -o remount,rw /sysroot

remount后面为什么要用逗号? 因为你指定了多个选项

进去后输入命令mount,发现根为/sysroot/,并且不能写,只有ro=readonly权限;

mount -o remount,rw /sysroot/,重新挂载,之后mount,发现有了r,w权限

 

六、文件系统被重新挂载为可写,像下面这样改变文件系统的root

chroot /sysroot

 

七、输入passwd命令,接下来命令行提示改变root密码

 

 

八、更新password文件会导致SELinux安全上下文文件错误。键入以下命令在下次系统引导前重新标记所有文件:

touch /.autorelabel (为了selinux生效)

 

九、重新挂载系统为只读:

mount -o remount,ro /

 

十、键入exit命令退出chroot环境:

exit

再次键入exit命令完成初始化,完成系统引导。 

exit 

 

十一、执行最一次exit 系统会重启并进入引导(这个过程相对有点长)

进入到用户登录界面输入我们换好的新的root密码,就可以登陆成功(整个过程如上图,并且自己

都一一验证过并成功登陆到root)

但是感觉centos 7系统开机相对于以前有些变慢了,不知道是错觉还是上面的改动影响到了开机速度

(记录下来,待以后研究了)

posted @ 2022-06-30 15:17  化繁归一  阅读(1353)  评论(0编辑  收藏  举报