文章目录

一、引言二、从功能维度划分(一)系统调用接口(二)内核

三、从文件维度划分(一)ISO 镜像文件

四、 操作系统的系统文件可以分为两大类:bootfs 和 rootfs。(一)bootfs(系统启动前)1. 定义与功能2. 存储方式

(二)rootfs(系统启动后)1. 定义与功能2. 加载与使用

题外话

零基础网络安全学习计划学习路线图大纲总览学习计划阶段一:初级网络安全工程师阶段二:中级or高级网络安全工程师(看自己能力)阶段三:顶级网络安全工程师

资料领取

一、引言

Linux 系统是一个复杂且功能强大的操作系统,它的架构设计涉及到多个层次和组件。为了更好地理解 Linux 系统的运作原理,本文将从功能维度和文件维度对 Linux 系统的构成进行详细的剖析。

二、从功能维度划分

(一)系统调用接口

1. 功能概述

1.系统调用接口是 Linux 系统中连接上层应用程序和下层内核的重要桥梁。它为应用程序提供了一组标准化的接口,通过这些接口,应用程序可以请求系统服务。

2.例如,当一个应用程序需要读取磁盘上的文件时,它不能直接访问磁盘硬件。相反,它会通过系统调用接口向内核发出请求,内核再去执行实际的硬件操作。

2. 作用和重要性

1.应用程序的开发通常是基于操作系统提供的系统调用接口。这使得应用程序具有可移植性,因为不同的操作系统可能有不同的内核实现,但它们通常会提供类似的系统调用接口。

2.系统调用接口隐藏了底层硬件和内核的复杂性,使得应用程序开发者可以专注于业务逻辑的实现,而不必关心硬件的具体操作细节。

(二)内核

1. 功能概述

1.内核是 Linux 系统的核心,它负责管理系统的硬件资源和提供各种系统服务。内核直接与硬件打交道,包括 CPU、内存、磁盘、网络设备等。

2.例如,当系统启动时,内核会初始化硬件设备,为它们分配资源,并加载必要的驱动程序。在系统运行过程中,内核负责管理进程的调度、内存的分配和回收、文件系统的操作等。

操作系统的两种工作状态

1. 用户态

1.当系统运行的是系统接口代码在与应用程序打交道时,系统处于用户态。在用户态下,应用程序只能访问自己的内存空间和系统调用接口提供的服务,不能直接访问硬件资源。

2.这种设计是为了保证系统的安全性和稳定性,防止应用程序的错误操作导致整个系统崩溃。

2. 内核态

1.当系统运行的是内核代码在与硬件打交道时,系统处于内核态。在内核态下,内核可以访问系统的所有硬件资源和内存空间。

2.例如,当内核执行磁盘 I/O 操作时,它处于内核态,能够直接控制磁盘控制器进行数据的读写操作。

3. 补充说明:应用程序与硬件操作的关系

1.应用程序本身是无法操作硬件的。这是因为硬件操作通常需要特定的权限和对硬件细节的了解,而应用程序不具备这些条件。

2.当应用程序需要操作硬件时,例如访问网络接口或磁盘文件,它必须通过系统调用接口向内核发出请求。内核接收到请求后,会根据请求的类型和参数执行相应的硬件操作,并将结果返回给应用程序。

三、从文件维度划分

(一)ISO 镜像文件

1. ISO 镜像文件的本质

1.Linux 操作系统通常源自 ISO 镜像文件。ISO 镜像文件本质上是一个压缩包,它包含了一系列安装和运行 Linux 系统所需的文件。

2.这些文件在 ISO 镜像文件中以一种特定的目录结构和格式进行组织,以便在安装过程中能够正确地被提取和安装到目标系统中。

2. ISO 镜像文件的内容分类

1.ISO 镜像文件中的文件可以大致分为两大类,但具体分类可能会因不同的 Linux 发行版而有所不同:

1. 系统安装文件:这些文件主要用于系统的安装过程,包括安装程序、引导加载程序、磁盘分区工具等。例如,在安装 Linux 系统时,安装程序会从 ISO 镜像文件中提取并运行这些文件,以完成系统的安装和配置。

2. 系统运行文件:这些文件是 Linux 系统在运行时所必需的,包括内核文件、系统库文件、应用程序文件等。在系统安装完成后,这些文件会被复制到系统的相应目录中,供系统和应用程序使用。

四、 操作系统的系统文件可以分为两大类:bootfs 和 rootfs。

(一)bootfs(系统启动前)

1. 定义与功能

bootfs 主要包含启动文件,其中最关键的是 bootloader 程序。bootloader 是在计算机系统启动时运行的第一段软件代码,它负责加载操作系统内核并将系统控制权转交给内核。

2. 存储方式

bootloader 不是以普通文件的形式存在,而是直接写入硬盘主引导记录(MBR)中。这种存储方式有其独特的技术原因:

·早期系统启动机制:在计算机系统启动的早期阶段,BIOS(基本输入输出系统)会首先执行。BIOS 在完成硬件自检等初始化操作后,会按照预设的顺序查找可引导设备(如硬盘)的 MBR。由于 MBR 是硬盘上最开始的扇区,BIOS 能够迅速定位到它。将 bootloader 直接写入 MBR,可以确保系统能够在第一时间找到并执行启动程序。

·控制权交接:MBR 中的 bootloader 在执行后,会负责加载后续的操作系统内核。例如,在常见的 GRUB(GRand Unified Bootloader)启动器中,它会读取配置文件,列出可启动的操作系统选项,并根据用户选择加载相应的内核文件。

(二)rootfs(系统启动后)

1. 定义与功能

rootfs 在系统启动后起作用,本质上是一堆文件夹和文件。它是操作系统的根文件系统,包含了操作系统正常运行所需的各种文件和目录结构。

2. 加载与使用

在系统启动过程中,一旦内核被 bootloader 成功加载并初始化后,内核会挂载 rootfs。rootfs 中的文件和目录包括但不限于以下几种:

· 系统二进制文件:如各种系统命令(如 ls、cd 等)和系统服务程序。这些二进制文件位于 /bin、/sbin 等目录下,提供了系统操作和管理的基本功能。

· 库文件:位于 /lib 和 /usr/lib 目录下的库文件,为系统二进制文件和应用程序提供了共享的函数和资源。例如,C 语言运行时库(libc.so)是许多程序运行所必需的。

· 配置文件:存放在 /etc 目录下的大量配置文件,用于配置系统的各种参数和服务。例如,/etc/fstab 文件用于配置文件系统的挂载信息,/etc/hosts 文件用于配置主机名和 IP 地址的映射关系。

· 设备文件:位于 /dev 目录下的设备文件,用于表示系统中的硬件设备。例如,/dev/sda 表示系统中的第一块 SATA 硬盘,/dev/tty1 表示第一个虚拟终端。

在系统启动后,rootfs 中的这些文件会被操作系统和应用程序频繁地访问和使用,以实现各种功能,如用户登录、文件操作、网络通信等

题外话

根据腾讯安全发布的《互联网安全报告》,目前中国网络安全人才供应严重匮乏,每年高校安全专业培养人才仅有3万余人,而网络安全岗位缺口已达70万,缺口高达95%。

我们到招聘网站上,搜索【网络安全】【Web安全工程师】【渗透测试】等职位名称,可以看到安全岗位薪酬待遇好,随着工龄和薪酬增长,呈现「越老越吃香」的情况。

我们看一看招聘网站技术向网络工程师的招聘要求,平均薪资水平相当可观:

零基础网络安全学习计划

学习路线图大纲总览

我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~

这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴文末免费领取哦,无偿分享!!!

【一一帮助网络安全学习,以下所有资源文末免费领取一一】 ①网络安全学习路线 ②上百份渗透测试电子书 ③安全攻防357页笔记 ④50份安全攻防面试指南 ⑤安全红队渗透工具包 ⑥HW护网行动经验总结 ⑦100个漏洞实战案例 ⑧安全大厂内部视频资源 ⑨历年CTF夺旗赛题解析

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么? 既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天) ①了解行业相关背景,前景,确定发展方向。 ②学习网络安全相关法律法规。 ③网络安全运营的概念。 ④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周) ①渗透测试的流程、分类、标准 ②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking ③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察 ④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周) ①Windows系统常见功能和命令 ②Kali Linux系统常见功能和命令 ③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周) ①计算机网络基础、协议和架构 ②网络通信原理、OSI模型、数据转发流程 ③常见协议解析(HTTP、TCP/IP、ARP等) ④网络攻击技术与网络安全防御技术 ⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天) ①数据库基础 ②SQL语言基础 ③数据库安全加固

6、Web渗透(1周) ①HTML、CSS和JavaScript简介 ②OWASP Top10 ③Web漏洞扫描工具 ④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周) 在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

这部分内容对于咱们零基础的同学来说还太过遥远了,由于篇幅问题就不展开细说了,我给大家贴一个学习路线。感兴趣的童鞋可以自行研究一下哦,当然你也可以点击这里加我与我一起互相探讨、交流、咨询哦。

资料领取

上述这份完整版的网络安全学习资料已经上传网盘,朋友们如果需要可以微信扫描下方二维码 ↓↓↓ 或者 点击以下链接都可以领取

点击领取 《网络安全&黑客&入门进阶学习资源包》