首页 > 其他分享 >信息安全系统设计与实现学习笔记4

信息安全系统设计与实现学习笔记4

时间:2023-09-29 11:22:44浏览次数:29  
标签:源文件 文件 分区 信息安全 系统 笔记 学习 Inode 链接

学习笔记 4 - 总结

知识点总结

1. 文件操作级别

  • 硬件级别

    • mkfs:格式化磁盘分区,为系统做好准备。
    • fsck:检查和维修系统。
    • 碎片整理:压缩文件系统中的文件。
  • 操作系统内核中的文件系统函数

    • 提供基本文件操作支持,例如:
      • kmkdir(), krmdir()
      • kchair(), kgetCwd()
      • klink(), kunlink()
      • kchmod(), kchown(), kutime()
      • kcreat(), kopen()
      • kread(), kwrite()
      • klseek(), kclose()
      • keymlink(), kreadlink()
      • kstat(), kfstat(), klatat()
      • kopendir(), kreaddir()
  • 系统调用

    • 允许用户模式程序访问内核函数,如:
      • open(), read(), lseek(), close()
  • I/O库函数

    • 提供标准的I/O函数,例如:
      • fopen(), fread(), fwrite(), fseek(), fclose(), fflush()
      • getc(), getchar(), putc(), putchar()
      • gets(), fgets(), puts(), fputs()
      • scanf(), fscanf(), printf(), fprintf(), sprintf()
  • 用户命令

    • 使用Unix/Linux命令执行文件操作,例如:
      • mkdir, rmdir, cd, pwd, ls, link, unlink, rm, cat, cp, mv, chmod, 等。
  • sh脚本

    • 用sh语言编写的程序,通过命令解释程序sh来执行。

2. 文件I/O操作

  • 分为内核级别和用户级别的操作。

3. 低级别文件操作

  • 分区

    • 将一个块存储设备分为多个逻辑单元,称为分区。
    • 分区表位于MBR的第一个扇区,表中包含四个分区描述符。
  • EXT2文件系统

    • Linux默认的文件系统,包含引导块、超级块、块组描述符块、块位图、索引节点位图等。

4. 使用系统调用进行文件操作

  • 系统调用和I/O库函数

    • 进程以内核模式和用户模式运行,系统调用允许进程进入内核模式执行高权限操作。
  • 基础系统调用函数

    • mkdir(), rmdir(), chdir(), getcwd(), access(), chmod(), chown(), link(), unlink(), symlink(), rename(), utime() 等。
  • 需要超级用户权限的调用

    • mount, umount, mknod
  • 常用系统调用

    • stat(), open(), close(), read(), write() 等。

5. 链接文件

  • 链接允许不同的路径对应同一个文件,分为硬链接和软链接(符号链接)。

  • 硬链接:共享相同的Inode和Block,适用于非目录文件。

  • 软链接(符号链接):指向源文件的Inode,可以链接目录,可以跨分区。

最有收获的内容

我最有收获的内容是对硬链接和软链接的理解:

硬链接特征:

  • 源文件和硬链接文件使用相同的 Inode 和 Block。
  • 修改任意一个文件,另一个都改变。
  • 删除任意一个文件,另一个都能使用。
  • 硬链接标记不清,很难确认硬链接文件位置,不建议使用。
  • 硬链接不能链接目录。
  • 硬链接不能跨分区。

软链接特征:

  • 软链接和源文件使用不同的 Inode 和 Block。
  • 两个文件修改任意一个,另一个都改变。
  • 删除软链接,源文件不受影响;删除源文件,软链接不能使用。
  • 软链接没有实际数据,只保存源文件的 Inode,不论源文件多大,软链接大小不变。
  • 软链接的权限是最大权限 lrwxrwxrwx,但是由于没有实际数据,最终访问时需要参考源文件权限。
  • 软链接可以链接目录。
  • 软链接可以跨分区。
  • 软链接特征明显,建议使用软连接。

标签:源文件,文件,分区,信息安全,系统,笔记,学习,Inode,链接
From: https://www.cnblogs.com/gd1220/p/17736863.html

相关文章

  • 权值线段树 学习笔记
    8月集训学了权值线段树,当时没怎么加强训练。国庆刚好开始有时间,巩固巩固。补上学习笔记。首先介绍权值树。其本质是一个记录每个数出现次数的线段树,也就是由桶建成的树。接下来介绍各种操作。1.插入。由于统计的是出现次数,从这个数往上依次加1即可。voidinsert(intx,int......
  • 矩阵学习笔记
    矩阵是一种数学概念,在\(OI\)中有着重要应用。一个矩阵有行,列,以及里面的数字。如图便是一个\(2\)行\(3\)列的矩阵:\[\begin{bmatrix}1&2&3\\4&5&6\\\end{bmatrix}\]矩阵数乘:\(\lambdaA\)就是将\(\lambda\)依次乘进每个矩阵。矩阵乘法:\(A\timesB=C\),那么\(C_{......
  • Unix/Linux系统编程学习笔记第七、八章
    Unix/Linux系统编程学习笔记第七、八章知识点归纳以及最有收获的内容文件操作级别文件和目录的基本操作创建文件:使用touch命令或编程语言中的文件创建函数。-创建目录:使用mkdir命令或编程语言中的目录创建函数。复制文件或目录:使用cp命令或编程语言中的复制函数。移......
  • 济南 CSP-S NOIP 储备营笔记
    Day1上午——基础算法模拟+枚举小前言碰到题目不会做->先写个模拟压压惊()枚举法枚举的思想是不断地猜测,从所有可能的集合中一一尝试,然后再判断是否符合题目的条件。单独提到枚举时我们往往认为这是一个暴力做法,但事实上并非如此,恰当的枚举往往会是解题的关键步骤。......
  • 学习C语言的第十三天
    用递归的方法计算n的阶乘#include<stdio.h>intmain(){intn=0;intmul=1;scanf("%d",&n);for(inti=1;i<=n;i++){mul=mul*i;}printf("%d\n",mul);return0;}以上代码是直接算n的阶乘#include<stdio.h>int......
  • FastAPI学习-22.response 异常处理 HTTPException
    前言某些情况下,需要向客户端返回错误提示。这里所谓的客户端包括前端浏览器、其他应用程序、物联网设备等。需要向客户端返回错误提示的场景主要如下:客户端没有执行操作的权限客户端没有访问资源的权限客户端要访问的项目不存在等等...遇到这些情况时,通常要返回 4XX(40......
  • FastAPI学习-23.异常处理器 exception_handler
    前言通常我们可以通过raise抛出一个HTTPException异常,请求参数不合法会抛出RequestValidationError异常,这是最常见的2种异常。HTTPException异常向客户端返回HTTP错误响应,可以使用 raise触发 HTTPException。fromfastapiimportFastAPI,HTTPExceptionapp=Fa......
  • FastAPI学习-24.自定义异常处理器 exception_handler
    前言添加自定义处理器,要使用 Starlette的异常工具。安装自定义异常处理器假设要触发的自定义异常叫作 UnicornException。且需要FastAPI实现全局处理该异常。此时,可以用 @app.exception_handler() 添加自定义异常控制器:fromfastapiimportFastAPI,Requestfromfa......
  • FastAPI学习-25.response_model 定义响应模型
    你可以在任意的_路径操作_中使用 response_model 参数来声明用于响应的模型:@app.get()@app.post()@app.put()@app.delete()fromtypingimportAny,List,UnionfromfastapiimportFastAPIfrompydanticimportBaseModelapp=FastAPI()classItem(BaseModel)......
  • 读高性能MySQL(第4版)笔记17_复制(下)
    1. 复制切换1.1. 复制是高可用性的基础1.1.1. 总是保留一份持续更新的副本数据,会让灾难恢复更简单1.2. “切换副本”(promotingareplica)和“故障切换”(failingover)是同义词1.2.1. 意味着源服务器不再接收写入,并将副本提升为新的源服务器1.3. 计划内切换1.3.1. 常......