太原思诺RHCE认证分享Linux密码破解及其运行原理

 在Linux的使用中,有一项必备的技能便是要懂得如何在遗忘root密码的情况下更改新的密码。本文将简单介绍重置root密码的运行原理和操作流程。

                    演示所用系统为RHEL8.0

启动过程

1、启动电源并自检后,计算机首先会加载BIOS或UEFI(两者功能高度类似,对于重置root密码操作流程无影响,所以本文不做两者区别分析),BIOS中的信息特别重要,计算机必须在最开始就找到它。因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等。在此之后计算机开始读取硬件信息。

2、系统在识别到磁盘后,最先读取的内容是MBR,即Master Boot Record,主引导记录,大小是512字节,里面却存放了预启动信息、分区表信息。

系统再找到MBR后会将其复制到物理内存中,被复制到物理内存中的就是bootloader。

3、Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。

Boot Loader有若干种,其中Grub、Lilo和spfdisk是常见的Loader。本次以最常用的grub讲解,系统会读取内存中的grub配置信息,然后给到用户选择操作系统的界面,如果曾经用过装了双系统的计算机,在选择不同版本的windows或Linux时的画面就是由grub提供的。

4、选择Linux系统后,开始真正的加载操作系统的内核(vmlinuz)和程序,内核再去加载驱动和模块.

图片

/boot文件目录

在/boot下的initramfs作为一个在磁盘根目录启动前的临时中转根目录,供给vmlinuz使用。

5、vmlinuz启动后会立即启动/sbin/init(systemd),

之后init会把磁盘根目录挂载为/sysroot(ro),此时的磁盘/init下的一个子目录。

6、把/切换到磁盘根目录,然后开始启动磁盘上的systemd,此刻意味着磁盘上的操作系统开始加载。

7、按照磁盘上的target配置启动到约定的target,例如配置启动图形界面还是命令行界面。

重置root密码

     在上文的启动过程简述中,3与4之间、5与6之间、6与7之间都可以进行中断来进行一些排错、救援等操作。重置root就是在启动过程中通过中断然后临时修改相关选项来实现的。

                   以下操作在虚拟机中运行

图片

如图为grub显示的系统选择界面

     在系统选择界面可以通过上下键选择操作系统,按e可以对选择的操作系统启动菜单属性进行编辑,按c 则可以让用户自己输入一些命令行。

      选择好要启动的系统后按e,显示画面如下图:

图片

      此时可以利用方向键调整光标,对启动过程进行删减与更改。

图片

     删除红线标识的内容后添加  rd.break

图片

    按Ctrl+x保存并启动下一步,启动后系统将会在根目录加载前中断,密码验证处于未启动状态,而内存中的系统则不需要密码验证。

     输入mount |grep vda1回车后如图所示:

图片

     此时vda1(根目录)处于属于/sysroot子目录的状态,并且权限为只读。

     输入mount -o remount,rw /sysroot

图片

      将根目录以读写形式重新挂载。

      挂载完成后输入chroot /sysroot将系统切换到磁盘上的根目录。

图片

     此时便可以进行密码更改,输入passwd回车后输入新密码,然后按照提示再次输入确认密码。如下图所示:

图片

     而在这些操作完成期间,SElinux处于未启动状态,所以需要让SE重新扫描整个系统,否则任何用户都无法登录系统。输入touch /.autorelabel   ,激活下次启动后SElinux便会重新扫描整个系统,刷新内容,使系统恢复正常 。 

图片

     然后输入exit退出到内存的根目录下:

图片

     此时便可以输入reboot重启:

图片

     重启后在grub界面选择进行过密码重置操作的系统,SELinux会进行relabel,这个扫描需要一定时间,稍微等待之后便可以进入到登录界面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值