Linux系统密码忘记

1.故障背景

误删除或修改/etc/passwd导致无法远程登录.

禁止root远程登录,没有添加普通用户,无法远程登录.

root密码忘记,无法远程登录.

linux无法启动.

2.解决方法

root密码,恢复有备份的系统文件,都要重启系统,才能进入救援模式.

解决方案 应用场景
系统自带的 救援模式 系统还可以正常使用,损坏不是太大. 系统无法启动.
U盘(光盘)的系统进入U盘 救援模式 系统不可用,无法正常启动.
快照 虚拟机(虚拟化,超融合),云服务器

3.进入系统自带的救援模式 ⭐⭐⭐⭐⭐

selinux关闭.

sudo setenforce 0   #临时关闭selinux

重启Linux

在GRUB菜单选择第1个然后按e编辑(edit). root用户名,Kylin123123

找出Linux的行修改 ro 为 rw ,在这一行的最后添加 init=/bin/bash

修改完成,按ctrl+x进入救援模式(命令较少).

根据故障针对性操作: 修改/etc/passwd去掉root的x,然后重启.

进入系统通过root用户,然后通过passwd命令给root设置新的密码.

4. Kylin系统

83b4718c7e96702d5e0528ac09f6336f

image-20240930210745366

image-20240930211340598

image-20240930211541795

image-20240930211739495

image-20240930211817975

image-20240930212314458

5.Ubuntu系统

重启Linux,重启过程中长按 shift 键,会出现以下界面

image-20240930213900344

image-20240930214106384

image-20240930214314499

203beae9b4411fbb0fd9ccf76d26fbe2