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

  1. 云栖社区>
  2. 博客>
  3. 正文

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

昵称怎么起 2019-05-10 19:09:24 浏览1976
展开阅读全文

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

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

一、系统环境
CentOS 7.5 最小安装版

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

1

可以看到 最下面的说明 按 e 进入单用户模式(那为什么要进入单用户模式更换root 密码,大家可以参考下面来自百度知道的回答)

0:关机

1:单用户模式

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

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

4:保留,未使用

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

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

Linux 系统处于正常状态时,服务器主机开机(或重新启动)后,能够由系统引导器程序自动引导 Linux 系统启动到多用户模式,并提供正常的网络服务。如果系统管理员需要进行系统维护或系统出现启动异常时,就需要进入单用户模式或修复模式对系统进行管理了。使用单用户模式有一个前提,就是您的系统引导器(grub)能正常工作,否则要进行系统维护就要使用修复模式。特注:进入单用户模式,没有开启网络服务,不支持远程连接

Linux 系统中不同的运行级别(Run Level)代表了系统的不同运行状态,例如 Linux 服务器正常运行时处于运行级别3,是能够提供网络服务的多用户模式;而运行级别 1 只允许管理员通过服务器主机的单一控制台进行操作,即“单用户模式”。

三、修改引导

2

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

(GRUB是GRand Unified Bootloader的缩写,它是一个多重操作系统启动管理器
quiet表示在启动过程中只有重要信息显示,类似硬件自检的消息不回显示)

添加rd.break enforcing=0 (rd.break 的意思是在启动过程中,当initramfs要将控制权交到systemd的时候中断启动过程 这段解释来自unix.net bbs网友的回答)

3

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

4

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

mount -o remount,rw /sysroot

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

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

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

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

chroot /sysroot

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

5

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

touch /.autorelabel (为了selinux生效)

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

mount -o remount,ro /

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

exit

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

exit 

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

6

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

但是感觉centos 7系统开机相对于以前有些变慢了,不知道是错觉还是上面的改动影响到了开机速度(记录下来,待以后研究了)

网友评论

登录后评论
0/500
评论
昵称怎么起
+ 关注