linux学习过程中,root用户登录密码忘记了,没有办法重装系统?快别闹了,看看正确姿势是什么样的。

演示用centos7机器。

通过grub进入单用户模式的两种情况:
  1. grub文本模式修改grub程序,进入单用户模式修改密码
  2. grub命令行模式修改grub程序,进入单用户模式修改密码

grub文本模式修改grub程序,进入单用户模式修改密码

  1. 在系统启动时,在此界面按上下键暂停,之后按e键进入grub程序。

centos root账户被锁定 root账号被锁centos_linux

  1. 此时进入grub程序,找到linux16 /vmlinuz-……行,在最后添加rd,break.之后ctrl-x进入单用户模式

centos root账户被锁定 root账号被锁centos_运维_02

  1. 此时就是单用户模式,但是此时还并没有挂载文件系统,所以我们手动挂载。

centos root账户被锁定 root账号被锁centos_单用户模式_03

centos root账户被锁定 root账号被锁centos_linux_04

  1. 现在就可以和平时一样用命令修改密码了。

centos root账户被锁定 root账号被锁centos_centos root账户被锁定_05

  1. 为了避免重启时不能对整个文件系统进行正确的relabeling而引起SELinux的状态异常,在/下创建一个.autorelabel文件,有这个文件存在,系统在重启时就会对整个文件系统进行relabeling

centos root账户被锁定 root账号被锁centos_linux_06

  1. 连续输入两次exit则退出并启动系统,正常进入,输入新密码即可进入。
  • 但是有时候,有些控制台终端设备不支持“ctrl+c”热键。这样就面临一个问题,grub的文本模式修改后,无法保存并运行,此时就可以使用方法二,在命令模式下进入单用户模式。

grub命令行模式修改grub程序,进入单用户模式修改密码

  1. 先和方法一相同进入grub

centos root账户被锁定 root账号被锁centos_centos root账户被锁定_07

  1. 输入命令grub引导的启动文件后面添加"init=/bin/bash"

centos root账户被锁定 root账号被锁centos_centos_08

  1. 最后输入boot引导启动,进入单用户模式
  2. 当前是只读模式,重新挂载文件,就可以用命令修改密码。

centos root账户被锁定 root账号被锁centos_centos root账户被锁定_09