救援模式(Rescue Mode)、单用户模式(Single-User Mode)、紧急模式(Emergency Mode)的区别与联系

时间:2023-02-21 12:50:46

前天聚餐的时候一航和启飞学长讲到RUCTF中更改root密码要进入单用户模式,我插了一句“有的系统显示的是救援模式”,说完后心里一直很虚。。。(技术上的事还是想好再说)今天查了一下文档,大致弄明白了救援模式(Rescue Mode)、单用户模式(Single-User Mode)、紧急模式(Emergency Mode)的区别了,分享一下;)

-----------------------------------------------------------------

1.runlevel:
一句话:运行级别指的是Linux等类Unix操作系统下不同的运行模式。
运行级别通常分为7等,分别是从0到6,但如果必要的话也可以更多。运行级别决定了计算机启动后的运行环境,根据Linux Standard Base,标准的运行环境可以分为7个:
0    Halt    Shuts down the system.
1    Single-user mode    Mode for administrative tasks.(注意这里,说明系统返回的shell有root权限)
2    Multi-user mode    Does not configure network interfaces and does not export networks services.
3    Multi-user mode with networking    Starts the system normally.
4    Not used/user-definable    For special purposes.
5    Start the system normally with appropriate display manager (with GUI)    Same as runlevel 3 + display manager.
6    Reboot    Reboots the system.

2.什么情况下要进入Rescue/Single-User/Emergency Mode?
一句话:无法正常由磁盘进入normal user mode(runlevel 3或5)
例如:
GRUB被(微软)摧毁了;)
某些硬件驱动文件损坏(比如nouveau)
密码忘了

3.三者的区别(这里参照的是RedHat系列的文档)
一句话:单用户模式是一个runlevel,我们可以在这里用具有root权限的shell更改root密码。至于怎么进入单用户模式有很多种,例如在磁盘boot文件损害时从其他介质启动(救援模式)。至于紧急模式,则是在init文件都损坏的情况下使用(也具有root权限),此时获得的环境最简单(重启都得靠拔电源)。

单用户模式:
在单用户模式,电脑为开机进入runlevel 1,本机档案系统已经被挂载,不过您的网路尚未启动,您可以使用一个系统维护的 shell。单机使用者模式与救援模式不同,它会试着自动挂载档案系统,如果您的档案系统无法被成功挂载,请勿使用单机使用者模式。而且如果系统上的执行层级 1 的设定已经毁损,您也无法使用单机使用者模式。

救援模式:
救援模式能让使用者由光碟(或其它开机方法)启动基本的 Red Hat Enterprise Linux 环境;而不是藉由系统硬盘来启动。在正常操作中,Red Hat Enterprise Linux 系统会使用硬盘里的档案来进行所有工作 — 执行程式、储存档案等等。然而,在某些情况下,Red Hat Enterprise Linux 会无法完整存取系统的硬盘。透过使用救援模式,即使您无法由某个硬盘执行 Red Hat Enterprise Linux,您依然能够存取储存在该硬盘上的档案。总之,救援模式就是从其他介质启动(能够自己选择挂载的分区),从而获得一个runlevel(如果按照流程,会进入level1的单用户模式)。

紧急模式:
在紧急模式中,您是开机进入尽可能最小的环境中。根目录档案系统将会被挂载为仅能读取,而且将不会做任何的设定。比起单机使用者模式,紧急模式最主要的优点是并不载入 init 档案。因此当 init 档案毁损或无法使用时,您仍然可以挂载档案系统以回复重新安装阶段中遗失的资料。

注:现在的centos7取消了使用多年的 SystemV 的服务管理方式,也就是说,从这一版开始,已经没有所谓的“执行等级 (run level) ”的概念了。新的管理方法使用的是 systemd 的模式(systemctl而非init),这个模式将很多的服务进行相依性管理。

-----------------------------------------------------------------

回到更改密码的问题上来,显然,如果用rescue mode获取环境,需要使用mount和chroot挂载根目录并更换当前根目录后然后使用passwd命令更改密码。如果能直接用单用户模式的环境,则可以直接更改密码。至于紧急模式,不推荐使用(网上有人说的,不清楚),因为很多基础服务未加载,强制重启后可能会有问题。

所以说,下次有人问忘记了root密码该怎么办,最准确的回答是“找一个能获得root权限shell的mode并将根目录切换到磁盘的根目录下执行passwd命令并注意SElinux上下文的保存”(好吧这有点绕。。),最正确/简单是回答是“单用户模式”。

参考:
Runlevel --> https://en.wikipedia.org/wiki/Runlevel
Linux Standard Base --> https://en.wikipedia.org/wiki/Linux_Standard_Base
Basic System Recovery --> https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/ap-rescuemode.html#s1-rescuemode-booting-single

救援模式(Rescue Mode)、单用户模式(Single-User Mode)、紧急模式(Emergency Mode)的区别与联系的更多相关文章

  1. centos单用户 救援 运行级别 yum,单用户模式,救援模式,inittab :启动级别 e2fsck wetty mingetty 物理终端 /dev/console 虚拟终端 /dev/tty(0,6) 模拟终端 /dev/pts/# grub-md5-crypt 给grub加密码 initrd 第二节课

    centos单用户 救援 运行级别  yum,单用户模式,救援模式,inittab :启动级别  e2fsck  wetty  mingetty  物理终端 /dev/console  虚拟终端 /d ...

  2. Linux系统救援模式应用:单用户模式找回密码

    利用Linux系统救援模式找回密码 方法一: 开机时手要快按任意键,因为默认时间5s grub菜单,只有一个内核,没什么好上下选的,按e键.升级了系统或安装了Xen虚拟化后,就会有多个显示. 接下来显 ...

  3. CentOS 7 单用户模式+救援模式

    CentOS 7 单用户模式+救援模式 CentOS 7 单用户模式+救援模式.有时候大家可能会忘记自己的root密码,或者错误(命令输入错误,命令位置输入有误等)编辑了一个/etc目录下的核心文件导 ...

  4. linux单用户模式

    linux单用户模式 2014年11月11日 17:18 在grub上相应要启动的内核上按“e”. 进入下一界面,继续按“e”. 在进入文本界面后,输入“single”回车. 进入grub界面后,按“ ...

  5. centos单用户模式修改ROOT密码

    首先启动的时候的时候,需要进入单用户模式(进入单用户模式的前提是系统引导器能正常工作),单用户模式是不需要输入密码,并且(进入单用户模式,没有开启网络服务,不支持远程连接 )网上说可以通过GRUB ( ...

  6. centos6.5单用户模式拯救系统

    系统出现启动异常,某个软件卡住了不能启动(按Fx键可以查看是哪个软件卡住了),需要进入单用户模式或修复模式对系统进行管理. 使用单用户模式有一个前提,只要系统引导器(grub)能正常工作,否则要进行系 ...

  7. lesson - 2 yum /单用户/救援模式/Linux 启动

    课程大纲:1.  yum使用yum 是一个在线安装软件包的工具,它可以帮我们解决软件包的依赖,这个日后会详细介绍.我们介绍了以下几个用法:yum list    这个命令可以列出所有安装过和未安装的软 ...

  8. Linux系统CentOS进入单用户模式和救援模式详解

    一.概述 目前在运维日常工作中,经常会遇到服务器异常断电.忘记root密码.系统引导文件损坏无法进入系统等等操作系统层面的问题,给运维带来诸多不便,现将上述现象的解决方法和大家分享一下,本次主要以Ce ...

  9. 单用户模式&救援模式&克隆虚拟机&Linux机器相互登录

    1.13 单用户模式 1.14 救援模式 1.15 克隆虚拟机 1.16 Linux机器相互登录 1.单用户模式 关机:init 0 .poweroff 重启:init 6 .reboot 关机:in ...

随机推荐

  1. 生活中的MVC模式,一个吃货的理解。

    以下是生活中对于MVC模式的领悟,虽然可笑,轻喷. 2015年 8月 26日 M  => Model       模型 我认为叫做模具更好的理解.批量加工生产具有相同特征的东西.        ...

  2. Python操作excel,及图表展示

    学习:http://www.cnblogs.com/Lands-ljk/p/5444619.html

  3. linux select

    man select: #include <sys/select.h> #include <sys/time.h> int select(int nfds, fd_set *r ...

  4. 从零开始学 Web 之 JavaScript(三)函数

    大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...

  5. CenOS&lowbar;6&period;6&lowbar;简单搭建vsFTP

    0. 关闭selinux 永久性关闭(这样需要重启服务器后生效) sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config ...

  6. es 5&period;0 拼音分词器 mac

    安装方法和ik中文分词器一样, 先下载: https://github.com/medcl/elasticsearch-analysis-pinyin 执行: mvn package; 打包成功以后, ...

  7. &commat;Transactional &plus; FetchType&period;LYZY &lpar;hibernate&rpar; &lt&semi;---&gt&semi; Exception&colon; could not initialize proxy - no Session&semi;

    转自: https://blog.csdn.net/blueheart20/article/details/52912023 4.问题的解决 尝试1:  在Service方法中新增了@Transact ...

  8. OpenACC 简单的直方图

    ▶ 简单的直方图,强调原子操作的使用 ● 代码 #include <stdio.h> #include <stdlib.h> #include <openacc.h&gt ...

  9. 【转】Linux常用命令大全(非常全!!!)

    最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大.我将我了解到的命令列举一 ...

  10. 洛谷P3656 展翅翱翔之时 &lpar;はばたきのとき&rpar;(洛谷2017&period;3月赛round1 t4)

    题目背景 船が往くよミライへ旅立とう 船只启航 朝未来展开旅途 青い空笑ってる(なにがしたい?) 湛蓝天空露出微笑(想做些什么?) ヒカリになろうミライを照らしたい 化作光芒吧 想就此照亮未来 輝きは ...