您的位置:首页 > 运维架构 > Linux

【0基础Python学习笔记07】-基础知识-LINUX系统初始化/加密/破解

2019-03-08 08:31 711 查看
版权声明:诺克萨斯万岁 https://blog.csdn.net/qq_38693598/article/details/88326788

目录

 

1.6.7LINUX系统初始化和服务

(1)linux系统启动流程

①光盘分区

②多操作系统的原理

③单用户模式

(2)常用重启系统命令

(3)centos启动级别

(4)单用户模式/无密码进入系统

(5)GRUB加密

(6)破解GRUB密码

(7)BIOS加密

​​​​​​​(8)破解BIOS

1.6.7LINUX系统初始化和服务

(1)linux系统启动流程

步骤

说明

①电源

电源启动自动找到启动盘BIOS

②BIOS

BIOS读取扇区第一个扇区信息MBR

③MBR

MBR要选择哪个OS,需找到GRUB

④boot loader(GRUB/LILO)

GRUB为OS 的引导大哥,用于选择OS/kernel;

⑤kernel

被选中的内核完成启动阶段准备工作并运行默认的第一个init命令启动界面,默认为init5入刑界面

⑥init process

系统运行默认的第一个init命令后启动系统完成

⑦login

启动系统后需要输入密码进入系统

 

 

1°当我们打开计算机电源,计算机会自动从主板的BIOS基本输入/输出系统(Basic Input/Output System)读取其中所存储的程序。这一程序通常知道一些直接连接在主板上的硬件(硬盘,网络接口,键盘,串口,并口)。现在大部分的BIOS允许你从软盘、光盘或者硬盘中选择一个来启动计算机。

2°计算机将从你所选择的存储设备中读取起始的一个光盘扇区512 bytes(446b引导信息+64b分区信息+2b结束标志位)即光盘最开始被读的512 bytes,这512 bytes叫做主引导记录MBR (master boot record)。

3°MBR会告诉电脑从该设备的某一个分区(partition)来装载引导加载程序(boot loader)。Boot loader用于选择操作系统,储存有操作系统(OS)的相关信息如操作系统名称,操作系统内核 (kernel)所在位置等。常用的boot loader有GRUB(Grand Unified Bootloader多重操作系统启动管理器)和LILO。

4°boot loader会帮助我们加载kernel。kernel内核实际上是一个用来操作计算机的程序,它是计算机操作系统的内核,主要的任务是管理计算机的硬件资源,充当软件和硬件的接口。操作系统上的任何操作都要通过kernel传达给硬件。Windows和Linux各自有自己kernel。狭义的操作系统就是指kernel,广义的操作系统包括kernel以及kernel之上的各种应用。

5°Linux kernel开始工作,首先预留自己运行所需的内存空间,然后通过驱动程序(driver)检测计算机硬件。这样,操作系统就可以知道自己有哪些硬件可用。随后,kernel会启动一个init进程。它是Linux系统中的1号进程(Linux系统没有0号进程),即系统执行的第一个程序。到此,kernel就完成了在计算机启动阶段的工作,交接给init来管理。

6°init会运行一系列的初始脚本(startup scripts),这些脚本是Linux中常见的shell scripts。这些脚本执行功能:设置计算机名称,时区,检测文件系统,挂载硬盘,清空临时文件,设置网络……

7°初始脚本完成,操作系统已经完全准备好了,接着init会给出登录(login)对话框,或者是图形化的登录界面,输入用户名(比如说vamei)和密码,登录完成后,你将以用户(user)vamei的身份操作电脑,同时是vamei组的组员(根据创建用户时的设定,Linux还会将你归到某个组(group)中)。

光盘分区

 

多操作系统的原理

MBR可对应多个boot loader 而每个boot loader对应不同的OS,则可在读取MBR的时候选择不同的boot loader,即不同的操作系统。

③单用户模式

 

 

 

 

 

根据boot loader的选项,Linux此时可以进入单用户模式(single user mode)。在此模式下,初始脚本还没有开始执行,我们可以检测并修复计算机可能存在的错误。

(2)常用重启系统命令

关闭系统

shutdown -h now

halt

poweroff

init 0

重启系统

shutdown -r now

reboot

init 6

Ctrl+Alt+Delete键

 

(3)centos启动级别

runlevel 用来表示在init进程结束之后的系统状态,可以用cat /etc/inittab命令查看,用vim /etc/inittab修改。在inittab文件中以#开头的所有行都是注释行。

命令

启动级别< 20000 /p>

说明

init 0

Runlevel 0

让init关闭所有进程并终止系统,即系统打开就关闭

init 1

Runlevel 1

单用户模式,只能系统管理员进入,在该模式下处理在有登录用户时不能进行更改的文件

init 2

Runlevel 2

多用户的模式,无网络状态下与3同,不支持文件共享

init 3

Runlevel 3

多用户的模式,字符终端界面,用来提供真正的多用户模式

init 4

Runlevel 4

一般不被系统使用

init 5

Runlevel 5

多用户的模式,默认模式,将系统初始化为专用的图形界面X Window终端

init 6

Runlevel 6

关闭所有运行的进程并重新启动系统

 

id:5:initdefault

表示当前缺省运行级别为5(initdefault)启动后进入图形界面,设为3则进入字符终端界面

​​​​​​​(4)单用户模式/无密码进入系统

步骤:打开系统时的读秒界面,如下图所示→按任意键进入上述第⑤步kernel内核之前④GRUB之后,如下图2→按e即edit的意思进入图3→选择第二行再按e进行编辑→如图4输入【空格+1+回车】,即修改所选内核运行的首个命令为init 0单用户模式,若其他模式只需改数字1→再次进入图3,按b进行boot→系统运行进入单用户字符终端界面图5,此时默认为超级用户,可passed root修改root用户密码等→输入命令init 6重启系统即可用密码进入

 

​​​​​​​(5)GRUB加密

上述无密码进系统实际通过操作GRUB实现,故应给GRUB加密。

打开终端1输入“vim /etc/grub.conf”,配置GRUB文件信息→打开新终端2输入“grub-md5-crypt”设置grub密码为123456,经md5加密处理后信息如图所示→在终端1中的title上插入一行输入“passwrod --md5 加密密码”,保存退出终端即设置密码成功→重启系统→在倒计时按随意键进入图3,此时按e无效,即grub已经被加密,需要按p→输入密码即可与上述单用户/双用户模式相同。。。

​​​​​​​​​​​​​​

 

(6)破解GRUB密码

 

 

思路:利用BIOS层面的救援模式,以外插CD光盘内系统为当前启动系统,则此时原系统光盘内系统只是一堆文件,此时便可以以最高权限来更改这堆操作系统文件,而GRUB密码只是某个文件中的一行代码,只需要将其删除,就可以破解GRUB密码;

步骤:开启系统后在图1时,立马狂摁F2直到进入BIOS界面如图2所示→找到boot→选择CD-ROM Drive后摁F10+回车即选择yes(此步骤要确保CD-ROM Drive相关路径系统文件存在)→选择Rescue installed system救援模式+回车→选择语言/键盘/网络设置。。。一直确定,并记住路径/mnt/sysimage即此时原系统文件路径已知→发现“bash-4.1#”后输入路径cd /mnt/sysimage以进入系统文件路径→ls查看当前路径下包含文件,发现源操作系统下包含etc目录→cat /mnt/sysimage/etc/grub.conf查看该目录下GRUB配置文件→vi /mnt/sysimage/etc/grub.conf修改GRUB配置文件删除密码→保存退出→重启→先把系统的BIOS改回到原操作系统,即选择Hard Drive+F10+回车保存→此后步骤与前述相同

 

 

 

(7)BIOS加密

 

 

重启→摁F2进入BIOS界面→选择security中选择Set Supervisor Password 回车→设置BIOS密码

​​​​​​​(8)破解BIOS

物理层面上把计算机的BIOS电池扣下来再放上去,BIOS相关参数会复位,密码丢失

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: