Linux忘记root密码
启用root用户的情况
启用了root用户时即可通过 grub 启动时的选项来进入拯救模式来进行修改密码
要重置忘记的 root 密码,你需要使用每个系统的不同方法。以下是 Arch、CentOS、Debian 和 Ubuntu 的步骤:
Arch Linux
-
引导到单用户模式:
- 重启系统,在启动菜单中选择 Arch Linux 的启动项。
- 按
e
进入编辑模式。 - 找到以
linux
开头的行,添加single
或init=/bin/bash
到行末。 - 按
Ctrl
+X
或F10
启动。
-
重置密码:
- 进入终端后,使用命令
passwd
设置新密码。 - 输入新密码并确认。
- 进入终端后,使用命令
-
重启系统:
- 输入
reboot
或exec /sbin/init
重启系统。
- 输入
CentOS
-
引导到救援模式:
- 重启系统,在 GRUB 菜单中选择启动项,按
e
编辑。 - 找到以
linux16
或linux
开头的行,添加rd.break
。 - 按
Ctrl
+X
启动。
- 重启系统,在 GRUB 菜单中选择启动项,按
-
挂载根文件系统:
- 输入
mount -o remount,rw /sysroot
- 进入系统根目录
chroot /sysroot
- 输入
-
重置密码:
- 使用
passwd root
设置新密码。
- 使用
-
更新 SELinux 标签:
- 执行
touch /.autorelabel
- 执行
-
重启系统:
- 输入
exit
两次,然后reboot
。
- 输入
Debian 和 Ubuntu
-
引导到恢复模式:
- 重启系统,在 GRUB 菜单中选择恢复模式(recovery mode)。
- 进入到“Root Drop to Shell”选项。
-
挂载根文件系统为可写:
- 输入
mount -o remount,rw /
- 输入
-
重置密码:
- 使用
passwd root
设置新密码。
- 使用
-
重启系统:
- 输入
reboot
重启系统。
- 输入
未启用root用户的情况
未启用root用户时是无法进入维护模式的,会提示root用户已被锁定。这时只能借助于 Live CD
或引导另一个Linux系统来进行修改
- 进入
Live CD
找到忘记密码的系统安装根目录 - 使用
sudo chroot ./
来启动系统环境对其进行修复 - 进入系统环境后接口使用命令修改密码了
修改后登录系统会提示密钥环不匹配
当通过拯救模式修改密码后,登录系统是会提示密码环不匹配,通过删除旧的密码环即可
rm -rf ~/.local/share/keyrings/login.keyring