设置 Linux 云服务器进入单用户模式

最近更新时间: 2024-10-17 17:10:00

操作场景

Linux 用户有时候需要进入到单用户模执行一些比较特殊的操作,例如密码管控,sshd 损坏等。本文档介绍主流 Linux 操作系统进入单用户模式的操作步骤。

操作步骤

判断操作系统类型

根据操作系统类型,选择不同的操作步骤。

CentOS 6

说明: Centos 6 采用 GRUB 启动引导程序,以下操作步骤以 CentOS 6.9 为例,根据操作系统的版本不同,详细操作步骤略有区别。

  1. 登录云服务器。

  2. 执行以下命令,打开 /etc/grub.conf 文件。

    vi /etc/grub.conf
  3. i 进入编辑模式。

  4. 查找到 “GRUB_TIMEOUT” 默认启动项等候时间的参数,并根据实际需求修改其值为需设置的时间范围。 “GRUB_TIMEOUT” 默认值为5秒,为了避免因等候时间太短看不到开机界面,建议将其调整为60秒或者更大。

    注意: 该项影响系统的启动时间,完成配置后,需将其修改回默认值。

  5. Esc 退出编辑模式,输入 :wq,按 Enter。 保存设置并退出 VI 编辑器。

  6. 执行以下命令,重启服务器。

    reboot
  7. 等待约1分钟,并通过 VNC 登录该 CVM 实例。登录界面如下图所示:

  1. 按任意键进入菜单。如下图所示:

  1. e 进入内核编辑界面,输入 single。如下图所示:

  1. Enter。如下图所示:

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

  1. 执行以下命令,退出单用户模式。

    exec /sbin/init

CentOS 7

说明: 与 CentOS 6 不同,CentOS 7 之后版本采用 GRUB 2。以下操作步骤以 Centos 7.5 为例,根据操作系统的版本不同,详细操作步骤略有区别。

  1. 登录云服务器。

  2. 执行以下命令,打开 /etc/default/grub 文件。

    vi /etc/default/grub
  3. i 进入编辑模式。

  4. 查找到 “GRUB_TIMEOUT” 默认启动项等候时间的参数,并根据实际需求修改其值为需设置的时间范围。如下图所示:
    “GRUB_TIMEOUT” 默认值为5秒,为了避免因等候时间太短看不到开机界面,建议将其调整为60秒或者更大。

注意: 该项影响系统的启动时间,完成配置后,需将其修改回默认值。

  1. Esc 退出编辑模式,输入 :wq,按 Enter。 保存设置并退出 VI 编辑器。

  2. 执行以下命令,重新编译和生成 grub.cfg 文件。

    grub2-mkconfig -o /boot/grub2/grub.cfg

    返回结果如下图所示:

  1. 执行以下命令,重启服务器。

    reboot
  2. 等待约1分钟,并通过 VNC 登录该 CVM 实例。登录界面如下图所示:

  1. e 进入内核编辑界面,并将 init=/bin/sh 添加至红框处。如下图所示:

  1. Ctrl+X,启动并进入单用户模式。如下图所示:

  1. 执行以下命令,退出单用户模式。

    exec /sbin/init

Ubuntu

说明: 以下操作步骤以 Ubuntu 16.04 为例,根据操作系统的版本不同,详细操作步骤略有区别。

  1. 登录云服务器。

  2. 执行以下命令,打开 /etc/default/grub 文件。

    sudo vi /etc/default/grub
  3. i 进入编辑模式。

  4. 查找到 “GRUB_TIMEOUT” 默认启动项等候时间的参数,并根据实际需求修改其值为需设置的时间范围。如下图所示:“GRUB_TIMEOUT” 默认值为5秒,为了避免因等候时间太短看不到开机界面,建议将其调整为60秒或者更大。

    注意: - 该项影响系统的启动时间,完成配置后,需将其修改回默认值。

  • Ubuntu 的默认帐户非 root,请注意使用 sudo 命令。

  1. Esc 退出编辑模式,输入 :wq,按 Enter。 保存设置并退出 VI 编辑器。

  2. 执行以下命令,重新编译和生成 grub.cfg 文件。

    sudo update-grub

    返回结果如下图所示:

  1. 执行以下命令,重启服务器。

    sudo reboot
  2. 等待约1分钟,并通过 VNC 登录该 CVM 实例。登录界面如下图所示:

  1. e 进入内核编辑界面,并将 rw single init=/bin/bash 添加至红框处。如下图所示:

  1. Ctrl+X,启动并进入单用户模式。如下图所示: