专栏首页微光点亮星辰Linux单用户模式重置root密码

Linux单用户模式重置root密码

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。
  • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
  • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
  • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

Linux单用户模式重置root密码

文本关键字:Linux、系统运行级别、单用户模式、忘记root密码、修改用户密码

一、系统运行级别

1. Linux系统启动过程

要进入到单用户模式我们首先要了解一下系统的启动过程,确认我们在哪一步下手。只有理解了才是真正掌握了,告别死记硬背。

  • 接通电源:对于虚拟机来说点击运行按钮即可。
  • BIOS自检:这一步主要是进行各种扫描,确认启动的方式并进行引导,如硬盘、光盘、网络等。
  • grub引导菜单:如果硬盘上已经有一个可以正常工作的操作系统,则会进入启动菜单。这一步对于我们来说很关键,因为再下一步就会加载内核来启动init进程,随后根据指定的运行级别运行系统了,如果我们要临时改变一下系统的启动级别,进入到单用户模式,必须要在引导菜单这一步来操作。
  • 加载内核:系统读取/boot目录下的相关文件,加载系统核心内容
  • init进程:初始化进程,用于初始化系统环境
  • 确定运行级别:根据配置使系统在指定级别下运行
  • 用户登录:输入用户名密码进行登录
  • 执行登录脚本:根据用户的配置信息执行用户登录后的脚本(会在用户管理的文章中进一步介绍)

2. 相关配置文件

  • /boot/grub/grub.conf:grub引导菜单配置文件

可以在该配置文件中修改引导菜单的倒计时读秒,对应配置项:timeout。也可以在该文件中配置启动菜单加密,对应配置项:password。(会在单用户加密文章中介绍)

  • /etc/inittab:配置各运行级别下的行为和命令,也可用于修改系统默认运行级别

配置文件的内容格式为如下:id:runlevels:action:processid为自定义的名称,要求在文件内唯一,且长度不超过四个字符。runlevels的范围与系统运行级别一致,可以同时指定多个。action表示在指定的级别下要执行的行为,为固定值。指定系统启动后的默认运行级别的配置为:initdefault。process部分用来指定具体需要执行的命令,当action指定为initdefault时,该部分可省略。

3. 运行级别列表

直接使用/etc/inittab中的内容来做对照

  • 0:关机
  • 1:单用户
  • 2:多用户(无NFS)
  • 3:完全的多用户模式
  • 4:暂未使用
  • 5:图形界面
  • 6:重启

4. 默认运行级别

如果需要修改默认的运行级别只要将配置文件中原有的一行修改为目标级别对应的数字。如:将默认运行级别由图形界面更改为完全的多用户模式,则将5修改为3。

id:3:initdefault:

二、单用户模式下重置密码

  • 在开机读秒时按任意键进入grub菜单
  • 根据提示,按e进入编辑界面
  • 选择第二项:内核,继续按e编辑
  • 结尾输入:[空格] 1
  • 回到菜单界面,按b启动
  • 启动后就会进入到单用户模式,可以使用passwd命令直接重置root用户密码

在密码输入状态,光标不会产生任何变化,是正常现象,输入完成后回车即可

  • 密码修改完成后使用reboot命令重启,系统将会重新进入之前默认的运行级别

本文分享自微信公众号 - 微光点亮星辰(SandTower),作者:沙塔的哲学

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-01-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 前端面试中的常见的算法问题

    聚沙成塔
  • 面试题集锦

    解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。

    聚沙成塔
  • MSYS2模拟Linux环境

    首先介绍一下MSYS2是什么,简单来说就是在windows平台上安装一个软件,用于模拟Linux的环境,我们在使用github的终端的时候可能也见过类似...

    聚沙成塔
  • Spark源码分析之Spark Shell(上)

    终于开始看Spark源码了,先从最常用的spark-shell脚本开始吧。不要觉得一个启动脚本有什么东东,其实里面还是有很多知识点的。另外,从启动脚本入手,是...

    用户1154259
  • 从国外到国内,为何大家都瞄准了磁导航介入手术?

    不到两年的时间,所有人都有一个共同发现:形形色色的智能医疗产品就像雨后春笋一样冒了出来。在医疗影像、智能诊断、家庭医生之后,今年,医疗行业又迎来一名“大将”——...

    用户2908108
  • 假如有机会重新学习计算机

    假如有机会重新学习计算机,在学每一门具体的学科之前,我都会上网搜一下入门教材推荐。我会选择那些适合入门的、比较薄的书,而不是那些经典的但不适合入门的大部头教材。...

    海天一树
  • Angular 2 + 折腾记 :(3)初步了解服务及使用

    不探究高深理论,只探究实际使用,有更好的写法或者经验请指出; 有些暂时没涉及到的知识我可能会顺着例子解释;

    CRPER
  • AI那么大,我该如何做起——记西浦开放创造实验室workshop: Let's AI together

    “就像汽车改变交通形态一样,你是要成为一个造车的人?还是学会开车?”这是GPU世界总编辑陈泳翰在西交利物浦开放创造实验室举办的workshop上的开场白。 20...

    GPUS Lady
  • python测试开发django-62.基于类的视图(APIView和View)

    django中编辑视图views.py有两种方式,一种是基于类的实现,另外一种是函数式的实现方式,两种方法都可以用。 REST框架提供了一个APIView类,它...

    上海-悠悠
  • 知乎问我,“在ThoughtWorks做设计是怎样一种体验?”

    前段时间有热心观众在知乎提问,“在ThoughtWorks做设计是怎样一种体验?”,本以为这个问题会是ThoughtWorker的专场,没想到却乱入了许多让我司...

    ThoughtWorks

扫码关注云+社区

领取腾讯云代金券