Linux 忘记密码解决方法

亚博365 📅 2025-12-29 14:36:56 ✍️ admin 👁️ 7571 ❤️ 813
Linux 忘记密码解决方法

《Linux 忘记密码解决方法》

可参考

🔐 学习目标

掌握 Linux 系统中忘记 root 或普通用户密码的解决方案。

理解单用户模式(Single User Mode)的工作原理和使用场景。

能在阿里云 Ubuntu ECS 上通过控制台进入恢复模式修改密码。

学会设置救援密码或使用临时账户,预防未来密码遗忘问题。

🧠 核心重点(表格提炼)

方法

操作方式

适用场景

单用户模式

修改 GRUB 启动参数,进入无密码 root shell

本地/虚拟机、支持串口控制台的云服务器

使用 LiveCD

挂载原系统分区并修改 /etc/shadow

物理机或支持挂载镜像的虚拟环境

阿里云控制台救援模式

创建自定义镜像或挂载磁盘到新实例

云服务器无法直接访问 GRUB 的情况

添加临时用户

在已知 root 权限下创建新用户并赋予 sudo 权限

预防性措施,用于快速恢复

🔍 详细讲解

1. 使用单用户模式重置密码 💡

单用户模式是一种特殊的启动状态,允许你以 root 权限无需密码进入系统,是忘记密码时最常用的恢复手段。

✅ 步骤如下(适用于阿里云 Ubuntu ECS):

第一步:通过阿里云控制台进入“串口控制台”

登录 阿里云控制台。

找到你的 Ubuntu ECS 实例 ➝ 点击“远程连接” ➝ 选择“串口控制台”。

📌 注意:

如果你是第一次使用串口控制台,请先启用“VNC 控制台”功能。

进入后你将看到类似 GRUB 的启动界面。

第二步:编辑启动项,进入 recovery 模式

在 GRUB 启动菜单中,按方向键选择第一个启动项(如 Ubuntu)。

按 e 键进入编辑模式。

找到以 linux /boot/vmlinuz... 开头的那一行。

在该行末尾添加:

rw init=/sysroot/bin/sh

按 Ctrl + X 或 F10 启动。

第三步:挂载根文件系统为可读写

系统将以单用户模式启动,但此时根目录是只读的:

mount -o remount,rw /sysroot

第四步:切换到真实根系统

chroot /sysroot

你现在进入了真实的系统环境中!

第五步:重置 root 密码

passwd root

输入新密码即可完成重置。

📌 注意:

若提示 Authentication token manipulation error,请执行以下命令后再尝试:

touch /.autorelabel

第六步:退出并重启系统

exit

reboot

系统将正常启动,并应用新的 root 密码。

2. 使用 LiveCD 恢复密码(物理机/虚拟机专用)💿

如果你使用的是物理服务器或 VMware/VirtualBox 等虚拟化平台,可以通过 LiveCD 启动并挂载原系统进行密码修改。

✅ 步骤如下:

将 Ubuntu LiveCD ISO 文件挂载到虚拟机。

启动系统,进入 “Try Ubuntu” 模式。

打开终端,查找原系统的根分区:

sudo fdisk -l

挂载根分区(假设为 /dev/sda1):

sudo mount /dev/sda1 /mnt

挂载其他必要目录:

sudo mount --bind /dev /mnt/dev

sudo mount --bind /proc /mnt/proc

sudo mount --bind /sys /mnt/sys

切换到原系统环境:

sudo chroot /mnt

修改 root 用户密码:

passwd root

退出并卸载所有挂载点:

exit

sudo umount /mnt/dev /mnt/proc /mnt/sys

sudo umount /mnt

移除 LiveCD,重启系统即可。

3. 阿里云 ECS 救援模式(推荐方案)🛠️

如果你无法通过串口控制台操作,可以使用阿里云提供的“镜像备份+挂载修复”方式。

✅ 步骤如下:

在阿里云控制台创建当前 ECS 的系统盘快照或自定义镜像。

新建一台相同配置的 Ubuntu ECS 实例。

将原系统盘作为数据盘挂载到新实例上。

登录新实例,挂载原系统盘:

sudo mkdir /original

sudo mount /dev/vdb1 /original # 假设数据盘为 vdb1

修改 /original/etc/shadow 文件,清空 root 密码字段(替换为 root::...)。

卸载并重新制作镜像或还原回原 ECS。

启动原 ECS,即可无密码登录。

📌 注意:

此方法适用于高级用户或企业运维人员。

修改 /etc/shadow 文件需谨慎,避免格式错误导致系统异常。

4. 设置临时恢复用户(预防性措施)🛡️

为了防止再次忘记密码,可以在拥有 root 权限时提前创建一个“紧急用户”。

✅ 步骤如下:

创建新用户:

sudo adduser rescue

设置密码并确认。

将其加入 sudo 组:

sudo usermod -aG sudo rescue

测试是否能用该用户提权:

su - rescue

sudo whoami

📌 建议:

定期更换此用户的密码。

可结合 SSH 公钥认证增强安全性。

🧩 实战案例:ECS 忘记 root 密码恢复实战 🛠️

场景描述:

你正在管理一台阿里云 Ubuntu 22.04 的 ECS 实例,之前设置了 root 密码,但现在忘记了,也无法使用 sudo(因为没有普通用户具有管理员权限)。

解决方案:

✅ 使用阿里云串口控制台 + 单用户模式

登录阿里云控制台 ➝ 找到 ECS 实例 ➝ 进入“远程连接” ➝ 选择“串口控制台”。

在 GRUB 启动界面按下 e 编辑启动项 ➝ 添加 rw init=/sysroot/bin/sh。

启动后进入 shell ➝ 挂载 /sysroot 为可写 ➝ 使用 chroot 进入原系统 ➝ 执行 passwd root。

重启后即可使用新密码登录 root。

📌 成功验证:

ssh root@your_ecs_ip

📌 注意事项 & 安全建议

项目

建议

不要频繁使用 root

推荐使用普通用户配合 sudo 操作

禁用 root 登录(可选)

修改 /etc/ssh/sshd_config 中的 PermitRootLogin no

使用密钥认证替代密码

更安全,也便于自动化脚本调用

定期备份 /etc/shadow

防止误删或加密损坏

设置紧急用户

提前准备一个有 sudo 权限的备用账户

🎯 总结一句话:

“忘记 Linux 密码不是世界末日🌍 —— 只要你掌握了单用户模式、LiveCD 和阿里云救援技巧,就能轻松解锁任何系统!”

是否继续下一章?我将继续输出:

《Linux 用户与组管理详解》🔐

《Shell 命令进阶与脚本编写实战》🖥️

《Linux 日志分析与排错技巧》🔍

请告诉我你想深入的方向吧!🚀

相关推荐

默罕默德-萨拉赫穿过的球衣号码介绍
设置免打扰模式
贷款风控审核时间影响因素及流程解析