CentOS7密码恢复

       长时间不用的CentOS机器再次开机的时候忽然忘记了密码,总不能就重装一台吧,还有好多服务在机器上,于是决定重置root的密码。

如果是已经开启的机器,需要进行关闭,重新启动。

在启动选择内核版本的时候按上下键,令画面停住。

CentOS7每次会有两个版本的内核供选择,简单的来说就是一个主内核版本,一个副内核版本,如果以后内核升级失败无法使用新内核重启时,可以通过这个界面选择旧内核重启进行修复。

言归正传,选择好了内核之后,按下e键,进入编辑界面。

找到以linux16开头的那一行,在行尾加上如下几句话:

  1、如果是物理机,添加:rd.break

  2、如果是虚拟机,添加:rd.break console=tty0

  这里我用的是虚拟机,所以添加rd.break console=tty0,如下图所示:

然后按Ctrl+x进行启动

  进入shell环境之后,进行如下操作:

  1、将根目录重新挂载,模式可写

  switch_root:/# mount -o rw,remount /sysroot

  2、变更目录至根目录下

  switch_root:/# chroot /sysroot

  3、更改密码

  sh-4.2# passwd

  4、如果安装的是中文系统,此时会出现乱码,可以根据经验直接输入,也可输入以下命令,当次变更语言为英语

  sh-4.2# LANG=en_US

  5、如果SELinux开启需要更新SELinux上下文,只要创建下面的文件即可
  sh-4.2# touch /.autorelabel

  6.退出重启
  sh-4.2# exit
  switch_root:/# exit

详细方法如下:

如果需要更新SELinux上下文,则重启的时间会比较长,有时系统没有提示,不要慌张,系统并没有崩溃。

  重启之后即可用新密码进行登录了。

点赞

发表回复