linux单用户模式是linux系统运行级别中的一种特殊运行模式,属于系统维护模式,该模式下系统仅加载最基础的内核和必要的驱动,不会启动网络服务、多用户登录服务等常规组件,用户可以直接以root身份操作整个系统,是系统故障排查和修复的常用手段。

linux单用户模式的核心特点
单用户模式和常规的多用户模式相比,有几个非常明显的特征:
- 仅允许一个用户登录,且默认就是root用户,不需要验证密码即可获得最高权限
- 不启动网络服务、打印服务、图形界面等大部分非核心服务,系统资源占用极低
- 文件系统默认以可读写方式挂载根分区,方便用户修改系统配置文件
- 运行级别标识在sysvinit体系中为1,在systemd体系中对应rescue.target
不同init系统下进入单用户模式的方法
sysvinit系统(centos 6及更早版本、debian 7及更早版本)
这类系统的运行级别由init进程管理,进入单用户模式的步骤如下:
- 重启系统,在启动引导界面(grub界面)按e键进入编辑模式
- 找到以linux开头的启动项行,在行尾添加
single或者1参数 - 按ctrl+x或者F10启动系统,即可自动进入单用户模式
如果需要在单用户模式下修改密码,可以直接执行以下命令:
# 修改root用户密码 passwd root # 按照提示输入两次新密码即可
systemd系统(centos 7及以上、ubuntu 16.04及以上、debian 8及以上)
systemd系统使用target替代了传统的运行级别,进入单用户模式的步骤如下:
- 重启系统,在grub界面按e键进入编辑模式
- 找到以linux开头的行,将
ro参数改为rw,并在行尾添加systemd.unit=rescue.target或者init=/bin/bash - 按ctrl+x启动系统,即可进入单用户模式
如果添加的是init=/bin/bash参数,进入后根分区默认是只读的,需要先执行挂载命令才能修改文件:
# 重新以可读写方式挂载根分区 mount -o remount,rw / # 之后就可以正常修改配置文件或者重置密码
单用户模式的常见使用场景
单用户模式的核心作用是系统修复,常见的适用场景包括:
- 忘记root用户密码,进入单用户模式后直接执行passwd命令重置密码
- 修改/etc/fstab等核心配置文件时出现错误,导致系统无法正常启动,可在单用户模式下修正配置
- 系统关键服务配置错误,导致无法进入多用户模式,可在单用户模式下关闭错误服务或者回滚配置
- 根文件系统出现轻微损坏,可在单用户模式下执行fsck命令修复文件系统
使用单用户模式的注意事项
虽然单用户模式操作便捷,但使用时也需要注意以下问题:
- 单用户模式下拥有root最高权限,操作前务必确认要执行的命令,避免误删系统核心文件
- 单用户模式默认不启动网络,如果需要下载修复工具,需要先手动启动网络服务
- 部分系统开启了grub密码保护,没有grub密码的情况下无法直接编辑启动项进入单用户模式
- 修复完成后执行
exec /sbin/init或者重启系统,即可回到正常的多用户运行模式
单用户模式是系统维护的利器,但仅建议在本地控制台操作,远程无法进入该模式,且操作前最好确认系统备份可用,避免操作失误导致系统不可用。
单用户模式与救援模式的区别
很多用户会混淆单用户模式和救援模式,两者的核心差异如下:
| 对比项 | 单用户模式 | 救援模式 |
|---|---|---|
| 运行环境 | 使用系统自身的根文件系统 | 使用从引导介质加载的临时根文件系统 |
| 适用场景 | 根文件系统可正常挂载的轻微故障 | 根文件系统损坏、无法挂载的严重故障 |
| 进入方式 | 修改系统本地grub启动项 | 从系统安装盘、u盘等外部介质启动 |
| 权限级别 | root权限 | root权限 |