自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 2021-2022-1 20212808 《Linux内核原理与分析》第十二周作业

linux capabilitylinux capability功能在访问控制上的优势,掌握使用Capability达到遵守最小权限原则的目的,并分析linux中基于Capability访问控制的设计。Linux内核从2.1版本开始,就开始支持Capabilities的安全机制。Capabilities安全机制提出的目的在于实现系统特权操作的更加细粒度的访问控制,使用户能够根据实际的安全需求来控制root进程拥有的权限范围,从而取消root进程多余权限带来的安全隐患。在Capabilities机制中,所有

2021-12-08 14:17:42 316

原创 2021-2022-1 20212808 《Linux内核原理与分析》第十一周作业

竞态条件漏洞实验实验简介竞态条件是指多个线程同时访问或者操作同一块数据,运行的结果依赖于不同线程访问数据的顺序。如果一个拥有root权限的程序存在竞态条件漏洞的话,攻击者可以通过运行一个平行线程与漏洞程序竞争,以此改变该程序的行为。实验过程1、实验准备由于本实验环境开启了针对竞态条件攻击的保护,所以需要先关掉保护。该选项意味着全域可写sticky位开启的文件夹是不能作为链接目标所在文件夹的$ sudo su$ echo 0 > /proc/sys/fs/protected_symli

2021-12-01 21:55:18 184

原创 2021-2022-1 20212808 《Linux内核原理与分析》第九周作业

进程的切换和系统的一般执行过程课本知识硬中断与软中断硬中断:可屏蔽中断和不可屏蔽中断。高电平说明有中断请求。软中断/异常:故障:出问题,但可以恢复到当前指令,如除零错误。退出:不可恢复的严重故障,只能退出。如连续发生故障。陷阱(Trap):程序主动产生的异常。schedule函数Linux内核通过schedule函数实现进程调度,调用schedule函数的时候就是进程调度的时机。上下文一般来说,cpu在任何时刻都处于以下3种情况之一:运行于用户空间,执行用户进程上下文运行于内核空

2021-11-17 22:45:37 173

原创 2021-2022-1 20212808 《Linux内核原理与分析》第八周作业

Linux内核的实质和Linux系统的一般执行过程ELF目标文件格式目标文件(ABI,应用程序二进制接口):编译器生成的文件。目标文件的格式:out格式、COFF格式、PE(windows)格式、ELF(Linux)格式。ELF(Executable and Linkable Format)即可执行和可链接的格式,是一个目标文件格式的标准。ELF格式的文件用于存储Linux程序。其包含了以下三类:可重定位文件:保存着代码和适当的数据,用来和其它的目标文件一起来创建一个可执行文件、静态库文件或

2021-11-12 19:39:48 1120

原创 2021-2022-1 20212808 《Linux内核原理与分析》第七周作业

遇到的问题进程的描述和进程的创建进程的描述操作系统内核实现操作系统的三大管理功能:进程管理、内存管理、文件系统。在操作系统原理中,通过进程控制块PCB描述进程。在Linux内核中通过一个数据结构struct task_struct来描述进程,称其为进程描述符。在操作系统原理中,进程有就绪态、运行态和阻塞态3种基本状态。Linux内核状态转换图:在Linux内核中,当时用fork()系统调用来创建一个进程时,新进程的状态是TASK_RUNNING(就绪态但没有运行)。就绪态和

2021-11-05 13:26:56 140

原创 2021-2022-1 20212808 《Linux内核原理与分析》第六周作业

遇到的问题:gdb中单步调试两个命令的区别gdb中单步调试命令有:s(step)和n(next)。step是逐语句,跳入自定义函数内部执行;而next逐过程,函数直接执行。系统调用的三层机制(下)一、给MenuOS增加time和time-asm命令进入LinuxKernel目录,删除menu目录,克隆一个新的menu rm -rf menu git clone http://github.com/mengning/menu.git2. 进入menu目录,用make rootfs对新文件

2021-10-29 22:30:10 145

原创 2021-2022-1 20212808 《Linux内核原理与分析》第五周作业

遇到的问题:关于系统调用函数号的问题,想使用getpid库函数,不知如何查找系统调用号。可以进入目录LinuxKernel/linux-3.18.6/arch/x86/syscalls/查看syscall_32.tbl,可以看到系统调用号getpid()系统调用号为20,转化为十六进制即0x14。还可以直接搜索linux 系统调用号表实验四:使用库函数 API 和 C 代码中嵌入汇编代码两种方式使用同一个系统调用使用库函数API获取进程识别码编写2808.c,只使用了getpid()库函数

2021-10-23 12:11:55 218

原创 2021-2022-1 20212808 《Linux内核原理与分析》第四周作业

遇到的问题用1234这个端口进行连接时连接超时,原因:关闭了qemu窗口。实验三:跟踪分析Linux内核的启动过程一、构造一个简单的Linux系统MenuOS在实验楼中打开shell,执行以下两个命令即可启动MenuOS系统:cd ~/LinuxKernel/qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img注:initrd是内存根文件系统;linux-3.18.6是内核源代码的目录;rootfs是编译好

2021-10-15 20:20:39 174

原创 2021-2022-1 20212808《Linux内核原理与分析》第三周作业

遇到的问题内嵌汇编代码理解不清,需要细细琢磨。实验二:在mykernel基础上构造一个简单的操作系统内核打开shell,输入命令:# 注意路径是区分大小的$ cd ~/LinuxKernel/linux-3.9.4$ rm -rf mykernel$ patch -p1 < ../mykernel_for_linux3.9.4sc.patch$ make allnoconfig# 编译内核请耐心等待$ make$ qemu -kernel arch/x86/boot

2021-10-08 19:04:02 142

原创 2021-2022-1 20212808《Linux内核原理与分析》第二周作业

遇到的问题:汇编代码的理解还不够熟练,需要画图,对照着代码一步一步走。比如寄存器相关知识:%eax,%后面是寄存器的名称。%ebx是指这个起存器中存的值是内存地址。(%ebx)是指这个内存地址所存储的数据。寄存器寻址:movl %eax,%edx这句指的是把寄存器%eax内容放到%edx中实验一:反汇编一个简单的C程序实验步骤在实验楼环境中进入目录Code(注:进入Code文件是为了保存相关代码文件),创建main.c,并编辑main.c文件,截图如下:vim编辑器编辑main.c程

2021-10-02 23:34:01 194

原创 2021-2022-1 20212808《Linux内核原理与分析》第一周作业

一 、主要知识概述实验1Linux是一个操作系统。Linux主要是系统调用和内核那两层,还包含包含一些在其上运行的应用程序。Linux之父: Linus TorvaldsC 语言之父和 UNIX 之父: Ken Thompson和Dennis Ritchie实验2大家熟知也最流行的实现了客户端功能的桌面环境 KDE,GNOME,XFCE,LXDE 。其中就有你看到的,实验楼目前使用的 XFCE 桌面环境。...

2021-09-26 23:36:31 247

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除