CentOS7.8忘记密码后如何重置
本文中的CentOS是从阿里云ECS服务器上迁移而来的,详情请看
《2021阿里云ECS镜像导入本地VMware虚拟机》,重置密码流程和普通CentOS7略微不同,但无伤大雅。
进入内核引导界面
重启虚拟机,并且此页面加载时按 ↑ 或 ↓ 键(其它任意键也可),进入引导页面。
选择第四项,原因在开头的文章中提到过(非ECS迁移的CentOS7.8一般只有两项,选择第一项即可。),按下e进入编辑模式。
目前已知的可以进入单用户的方式有如下三种,这里以第三种方式为例
- rd.break
- init = /bin/bash
- rw init = /sysroot/bin/sh
找到以linux16开头的行,向下寻找 ro,并将其替换为 rw init = /sysroot/bin/sh
注意:ECS迁移的CentOS此时需要特别注意!!!此处需要删除 net.ifnames=0 console=tty0 console=ttys0.115200n8 noibrs,否则会卡死无法进入系统。(因为此问题浪费了非常久的时间,找了很多资料也没解决,最后发现这里比其它的CentOS多了一段内容,删除后即可进入系统)
按下Ctrl+X或者F10,等待片刻即可进入系统。
此时还无法直接修改密码,需要使用chroot命令,即chroot /sysroot
再次执行passwd root,即修改root用户的用户名,输入新密码,记得修改为自己能够牢记的密码😂。出现successfully字样即为成功。
(可选) 如果修改过Linux的内核状态,此处需要使用如下命令重新标记。
touch /.autorelabel
最终重启系统
执行
reboot -f
或
exec /sbin/reboot