服务器太多,忘记root用户密码怎么办?不用慌,这么做就能搞定
67 次浏览
发表于 2021-09-06 00:47

当管理上百台服务器时,出现忘记root密码的概率还是很高的。要解决这个问题也非常简单,只需要在重启Linux系统时,引导进入Linux的单用户模式就可以搞定。单用户模式与Windows的安全模式类似,只启动基本的系统,不启动网络、应用服务。由于单用户模式不需要输入登录密码,因此,可以直接登录系统,重新修改root密码。

先以CentOS7为例(GRUB2),进行如下操作:

  1. 重启系统,等到进入GRUB引导菜单时,按ESC,选择当前系统的内核,按E键进行编辑。

  2. 如下图,按↓键,找到linux16所在的行,然后在行尾添加init=/bin/sh,添加完成后,按<Ctrl+x>组合键启动引导,进入单用户模式

  3. 此时如果直接使用passwd命令修改root密码会出现如下错误。

  4. 修改密码前先要将根目录挂载为可读写模式(mount -o remount,rw /),再修改root密码。

  5. 注意,如果没有关闭selinux,那么需要再根目录创建autorelabel文件,否则无法正常进入系统,操作如下:

     touch /.autorelabel
  6. 修改密码后可以重启服务器了,但是此时reboot命令是无效的,需要执行exec /sbin/init

  7. 重启系统后,以新密码登录服务器。

注意,CentOS7以前版本使用的是GRUB,与GRUB2略有不同,但同样是通过引导进入单用户模式修改root密码。

  1. 在编辑系统引导内核时,需要找到带有kernel指定的行,然后再行尾加上空格,再添加single选项。

  2. 修改完成后,按ENTER键,返回菜单,按B键引导进入单用户模式。

  3. 输入passwd修改密码。

  4. 密码修改完成后,输入init 3进入多用户模式。

  5. 以新密码登录服务器。

以上就是解决登录Linux系统忘记root用户密码的解决方式。

欢迎大家关注我,更多Linux干货等着你!


如果您觉得不错,就打赏支持一下吧〜
已有 0 人进行打赏
点击标签,发现更多精彩
发表评论
发表者

Linux驯兽师

一枚朝着Devops&SRE发展的工程师~

  • 1

    文章

  • 1

    关注

  • 0

    粉丝

活动推荐
版权所有©F5 Networks,Inc.保留所有权利。京ICP备16013763号-5