设置 Linux 云服务器进入单用户模式
操作场景
Linux 用户有时候需要进入到单用户模式执行一些比较特殊的操作,例如密码管控,sshd 损坏等。本文档介绍主流 Linux 操作系统进入单用户模式的操作步骤。
操作步骤
判断操作系统类型
根据操作系统类型,选择不同的操作步骤。
- CentOS 6 操作系统,执行 CentOS 6 的步骤。
 - CentOS 7 操作系统,执行 CentOS 7 的步骤。
 - Ubuntu 操作系统,执行 Ubuntu 的步骤。
 
CentOS 6
说明: Centos 6 采用 GRUB 启动引导程序,以下操作步骤以 CentOS 6.9 为例,根据操作系统的版本不同,详细操作步骤略有区别。
- 
登录云服务器。
 - 
执行以下命令,打开
/etc/grub.conf文件。 
vi /etc/grub.conf
- 
按 i 进入编辑模式。
 - 
查找到 “GRUB_TIMEOUT” 默认启动项等候时间的参数,并根据实际需求修改其值为需设置的时间范围。 “GRUB_TIMEOUT” 默认值为5秒,为了避免因等候时间太短看不到开机界面,建议将其调整为60秒或者更大。
 
注意: 该项影响系统的启动时间,完成配置后,需将其修改回默认值。
- 
按 Esc 退出编辑模式,输入 :wq,按 Enter。 保存设置并退出 VI 编辑器。
 - 
执行以下命令,重启服务器。
 
reboot
- 等待约1分钟,并通过 VNC 登录该 CVM 实例。登录界面如下图所示:
 
- 按任意键进入菜单。
 

- 按 e 进入内核编辑界面,输入 single。
 

- 按 Enter。
 

- 在如下图所示界面,按 b 进入单用户模式。
 

- 执行以下命令,退出单用户模式。
 
exec /sbin/init
CentOS 7
说明: 与 CentOS 6 不同,CentOS 7 之后版本采用 GRUB 2。以下操作步骤以 Centos 7.5 为例,根据操作系统的版本不同,详细操作步骤略有区别。
- 
登录云服务器。
 - 
执行以下命令,打开
/etc/default/grub文件。 
vi /etc/default/grub
- 
按 i 进入编辑模式。
 - 
查找到 “GRUB_TIMEOUT” 默认启动项等候时间的参数,并根据实际需求修改其值为需设置的时间范围。
 
“GRUB_TIMEOUT” 默认值为5秒,为了避免因等候时间太短看不到开机界面,建议将其调整为60秒或者更大。
注意: 该项影响系统的启动时间,完成配置后,需将其修改回默认值。
- 
按 Esc 退出编辑模式,输入 :wq,按 Enter。 保存设置并退出 VI 编辑器。
 - 
执行以下命令,重新编译和生成 grub.cfg 文件。
 
grub2-mkconfig -o /boot/grub2/grub.cfg
- 执行以下命令,重启服务器。
 
reboot
- 
等待约1分钟,并通过 VNC 登录该 CVM 实例。
 - 
按 e 进入内核编辑界面,并将 init=/bin/sh 添加至红框处。
 - 
按 Ctrl+X,启动并进入单用户模式。
 - 
执行以下命令,退出单用户模式。
 
exec /sbin/init
Ubuntu
说明: 以下操作步骤以 Ubuntu 16.04 为例,根据操作系统的版本不同,详细操作步骤略有区别。
- 
登录云服务器。
 - 
执行以下命令,打开
/etc/default/grub文件。 
sudo vi /etc/default/grub
- 
按 i 进入编辑模式。
 - 
查找到 “GRUB_TIMEOUT” 默认启动项等候时间的参数,并根据实际需求修改其值为需设置的时间范围。
 
“GRUB_TIMEOUT” 默认值为5秒,为了避免因等候时间太短看不到开机界面,建议将其调整为60秒或者更大。
注意: 该项影响系统的启动时间,完成配置后,需将其修改回默认值。 Ubuntu 的默认帐户非 root,请注意使用 sudo 命令。
- 
按 Esc 退出编辑模式,输入 :wq,按 Enter。 保存设置并退出 VI 编辑器。
 - 
执行以下命令,重新编译和生成 grub.cfg 文件。
 
sudo update-grub
- 执行以下命令,重启服务器。
 
sudo reboot
- 
等待约1分钟,并通过 VNC 登录该 CVM 实例。
 - 
按 e 进入内核编辑界面,并将 rw single init=/bin/bash 添加至红框处。
 - 
按 Ctrl+X,启动并进入单用户模式。