适用场景
本节操作介绍Linux操作系统云服务器在单用户模式下重置密码的操作步骤。
说明:
进入单用户模式下重置root密码前请先做好数据备份。
请根据操作系统类型选择操作步骤:
CentOS 8系列
- 使用控制台提供的VNC方式登录云服务器。
在云服务器操作列下单击“远程登录”。
图1 使用控制台提供的VNC方式登录云服务器
- 单击远程登录操作面板上方的“发送CtrlAltDel”按钮,重启虚拟机。
- 确认开始重启后,立即反复单击上下键,阻止系统继续启动,在出现内核选项时按字母键e进入内核编辑模式。图2 进入内核编辑模式
- 修改启动权限配置。
将ro参数修改为:rw init=/sysroot/bin/bash
图3 修改前
图4 修改后
- 然后执行Ctrl+X。
请耐心等待页面加载。
图5 进入紧急模式
- 运行命令chroot /sysroot/切换回原始系统。
- 执行以下命令,重置root密码。
图6 紧急模式下重置root密码
- (可选,系统开了SELinux需要执行此步骤)执行以下命令,让SELinux生效。
- 执行以下命令,退出当前根目录。
- 执行以下命令重启云服务器。
# reboot
CentOS 7/EulerOS 系列
- 使用控制台提供的VNC方式登录云服务器。
在云服务器操作列下单击“远程登录”。
图7 使用控制台提供的VNC方式登录云服务器
- 单击远程登录操作面板上方的“发送CtrlAltDel”按钮,重启虚拟机。
- 确认开始重启后,立即反复单击上下键,阻止系统继续启动,在出现内核选项时按字母键e进入内核编辑模式。图8 进入内核编辑模式
说明:
Euler镜像默认对grub文件进行了加密,进入编辑内核模式时会提示:Enter username,需要输入用户和密码,请联系客服进行获取。
- 找到linux16行末尾,执行以下操作。
- 删除不需要加载的参数(ro参数开始到末尾)。
说明:
ARM(鲲鹏计算)架构云服务器以及裸金属服务器需要保留参数“console=tty0 console=ttyS0”。
- 修改ro为rw,以读写方式挂载根分区。
- 并添加rd.break,然后执行Ctrl+X。图9 修改前
图10 修改后
- 删除不需要加载的参数(ro参数开始到末尾)。
- 执行以下命令切换至/sysroot目录。
- 执行以下命令,重置root密码。
- (可选,系统开了SELinux需要执行此步骤)执行以下命令,让SELinux生效。
- 执行以下命令,退出当前根目录。
- 执行以下命令重启云服务器。
# reboot
CentOS 6/RedHat 6系列
- 使用控制台提供的VNC方式登录云服务器。
在云服务器操作列下单击“远程登录”。
图11 使用控制台提供的VNC方式登录云服务器
- 单击远程登录操作面板上方的“发送CtrlAltDel”按钮,重启虚拟机。
- 确认开始重启后,立即反复单击“Esc”阻止系统继续启动,并进入一个grub菜单。图12 grub菜单
- 将光标移动到第一个默认的内核,按字母键e进行编辑。图13 按字母键e编辑
- 将光标移动到kernel行,再次按字母键e进行编辑。图14 移动至kernel行
- 将光标移动到“rd_NO_DM”的末尾,在空格后面添加数字“1”。图15 在末尾添加数字“1”
- 将光标向左移动到“console=ttyS0,115200n8”的位置,删掉“console=ttyS0,115200n8”,然后按回车键接受编辑。图16 删掉“console=ttyS0,115200n8”
- 按“b”引导使用该内核,并引导到运行级别1(单用户模式)。
- 当看到“#”提示符时执行以下命令重置密码。
- 重启服务器。
Debian/Ubuntu系列
- 使用控制台提供的VNC方式登录云服务器。
在云服务器操作列下单击“远程登录”。
图17 使用控制台提供的VNC方式登录云服务器
- 单击远程登录操作面板上方的“发送CtrlAltDel”按钮,重启虚拟机。
- 确认开始重启后,立即反复单击“Esc”阻止系统继续启动,并进入一个grub菜单。图18 grub菜单
- 在grub引导菜单下按“e”键进入grub2菜单编辑模式。
- 找到linux行末尾,删除不需要加载的参数(ro参数开始到末尾),修改ro为rw(以读写方式挂载根分区),并添加“init=/bin/bash”。图19 修改ro参数
- 按Ctrl+x进入救援模式。
- 执行以下命令,重置root密码。
- 执行以下命令,重启服务器