Linux基础篇——Linux运行级别及找回root密码

本文介绍了在Linux系统中如何理解和切换运行级别,重点讲解了当root密码丢失时,通过运行级别1(单机模式)来恢复密码的详细步骤,包括在Grub菜单中编辑启动参数、进入单用户模式以及修改密码。此外,还讨论了在过程中可能遇到的问题及其解决方案。
摘要由CSDN通过智能技术生成

1.1 背 景

离职的前辈把root密码也带走了,或者自己root密码忘记了,咋办?这篇文章就带你玩点刺激的,毕竟人生来就喜欢偷窥秘密,在此之前需要先了解下Linux的运行级别,本文的命令是基于CentOS7,其他系统会略有差别,请自行查阅资料;

2.1 Linux运行级别

2.1.1 七级运行级别

  如图2.1,Linux的运行级别分为7级,其中最常用的是级别35

  • 3又是最最常用的,为啥呢?因为3是命令行模式,如图2.2,其实,2,3,4都是命令行模式,只不过2,4有特殊要求,一般用得少;
  • 5是图形界面,如图2.3,少部分人用;
  • 0关机;
  • 1单机模式,类似windows的安全模式,常用于找回root密码;
  • 6重启。

在这里插入图片描述

图2.1 linux运行级别

在这里插入图片描述

图2.2 linux运行级别3(2,4也是如此)

在这里插入图片描述

图2.3 linux运行级别5

2.1.2 运行级别切换

# 利用init 指令
init [0123456]

# 关机
init 0 

# 重启
init 6

# 切换图形界面
init 5

# 切换命令行模式
init 3

2.1.3 设置默认运行级别

  即开机后进入的运行级别,常用的设置级别是级别3或者级别5,试想下如果设置默认级别是6,会发生啥?那你的服务器就处于无限重启中,整人模式,如何解除呢,也需要进入单机模式,即级别1,这个后面再讲;

CentOS7的7级别对应的英文含义
0 :poweroff.target
1 :rescue.target
2,3,4 :multi-user.target
5 :graphical.target
6 :reboot.target

#查看系统默认的运行级别或者模式
systemctl get-default

#修改默认的级别
systemctl set-default graphical.target
systemctl set-default poweroff.target
systemctl set-default reboot.target

# 再利用systemctl get-default查看是否设置成功

3.1 Linux找回root密码

3.1.1 操作步骤

  前提:单机模式一定要操作人坐在该Linux计算机面前,使用Linux系统自带的终端,即可以重启看到图3.1的界面,该情况下默认该计算机是你的了,因为如果这种情况下你真想搞破坏,你把电脑砸了就行了,所以Linux默认这种情况下的人可以进入单机模式,远程工具x-shell、MobaXterm等工具是不行的;

  在进入系统的Grub菜单界面如下图3.1,根据提示按“e”小写字母进入编辑界面,如下图3.2所示;

在这里插入图片描述

图3.1 CentOS7 Grub菜单界面

  然后要按方向键向下键(否则可能显示器小看不到想要找的行),找到以字符串“Linux16”开头的行,中间部分的ro参数改为rw,并光标移动到该行的结尾,然后添加enforcing=0 init=/bin/bash(前者作用让系统登录后加载bash解释器,后者是且关闭Selinux);配置完成后,根据界面下面的英文提示按Ctrl-x组合键以单用户模式启动Linux,如图3.3;

在这里插入图片描述

图3.2 设置单机模式参数

  进入单机模式后,是不需要密码的,如图3.3,白色框框是因为我的计算机是中文,显示乱码的问题,请忽略; ,然后利用 passwd root指令修改root密码,需要输入两遍,第二遍为确认密码,Linux系统输入的密码是没有提示的,输入完后直接按回车键,不要在那里傻等哟,配置完后,执行exec /sbin/init命令重启系统,注意,此时,无法使用其它重启命令。
在这里插入图片描述

图3.3 单机模式下修改root密码

  重启后如图3.4,利用新的密码登录一遍,能正常登录,则说明修改成功,有了root账号,你就可以为所以为了,当然前提要主要安全,别破坏系统就行。

在这里插入图片描述

图3.4 重启完尝试用新root密码登录

3.1.2 常见问题

  1.忘记将图3.2 ro 改成 rw?

  答案:如图3.5,可以在进入单机模式内,利用mount -o rw,remount /命令是重新挂载根目录为可写状态(rw表示可写,remount是重新挂载),在单用户模式下默认根文件系统是处于只读状态。

在这里插入图片描述

图3.5 忘记 ro 改成 rw

  2.图3.2没有增加enforcing=0?

  答案:如图3.6,利用touch /.autorelabel命令以便在下次系统引导前重新标记系统中的所有相关文件,因为在SELinux开启时,修改root密码时修改password文件会导致SELinux安全上下文报错,如果前文修改内核选项时,已增加enforcing=0,那么在修改密码文件时,Selinux是关闭状态,则不需要此操作;
在这里插入图片描述

图3.6 关闭SELinux

  以上就是关于Linux运行级别及找回root密码的相关内容。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

╭⌒若隐_RowYet——大数据

谢谢小哥哥,小姐姐的巨款

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值