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

Posted ╭⌒若隐_RowYet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础篇——Linux运行级别及找回root密码相关的知识,希望对你有一定的参考价值。

目 录

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密码的相关内容。

以上是关于Linux基础篇——Linux运行级别及找回root密码的主要内容,如果未能解决你的问题,请参考以下文章

Linux 初学篇运行级别找回 root 密码帮助指令文件目录指令

Linux系列万字总结 --Centos第五天 运行级别,找回密码,常用文件目录指令

Linux基础篇—— linux操作系统目录结构运行级别介绍

Linux实用指令:运行级别&找回密码&帮助指令&文件目录类

Linux学习笔记

Linux学习笔记