Linux文件系统(一)—— 白话文件系统

1. 为什么需要有文件系统?

        解放你的双手,让你的双手能干更多的事情,没有文件系统,你想在磁盘上下载一个小电影,你需要记录电影的起始位置与长度等等信息。wtf为什么我还需要做这些事情,我只是想看个小片片而已。更绝的是当你看完了想替换一个新的电影时,结果发现删除移动复制让你瞬间回到了解放前。

        你就想着如果有人能替你管理一下这些小片片,你就可以解放自己的双手了,可以做更多的事情。。。有了你的需求,文件系统应用而生!

2. Linux的文件系统长啥样?

        Linux系统一切皆文件,我们可以很简单的使用linux cmd来查看linux中的文件分布:

        

        你突然发现,他是个tree啊,的确他像个tree,简单明了。

 3. 在linux中找到你的小片片?

     inode(你的小本本,记录着你想看电影的信息,但是你不敢写电影名字,index node):

       里面写着:你的电影多大,谁有权限可以看,谁有权限删除,啥时候下载的,并记录了那些谁。内行的人一看你的信息就大概猜到你的电影是什么名字了。

一个文件对应一个inode。通过inode可以方便的找到文件在磁盘扇区的位置,inode模块可链接到address_space模块,方便查找自身文件数据是否已经缓存。

       内行的人都知道: stat xxxx.cpp      file xxxx.cpp

  File: xxxx.cpp
  Size: 49350     	Blocks: 104        IO Block: 4096   regular file
Device: 802h/2050d	Inode: 51648461    Links: 1
Access: (0775/-rwxrwxr-x)  Uid: ( 1000/xxxx)   Gid: ( 1000/xxxx)
Access: 2021-11-26 15:25:38.330963850 +0800
Modify: 2021-11-12 16:38:34.473441460 +0800
Change: 2021-11-12 16:38:34.473441460 +0800
 Birth: -

file xxxx.cpp: C source, ASCII text

找到你的小片片:

  1. 首先location到你的小本本,这个里面的信息很重要,这是你的密码本
  2. 打开你的小本本,找到Inode,Size,Blocks
  3. 找到文件所在block,开始看你的珍藏。
  4. 突然发现没有权限,原来你那么狗,给我设置了权限。

 4. 解密你的小本本,让人尽皆知。

      既然你不让我看,我就要破解你的小本本,然后交给老师。。。

  • 1. survey your 本本(知己知彼百战百胜):
  • 原来在系统格式化的时候你就开始记录了,还贴心给你的本本分配了inode区,把电影放到数据区。而且你居然为了多放电影,给你本本分配小的区域,这样你就有了漏洞,你的本本能记录的电影是有限的。
  • 2. 查看你得本本(知道你的极限):
  • [root@localhost ~]# df -i
    Filesystem               Inodes IUsed   IFree IUse% Mounted on
    /dev/mapper/centos-root 8910848 26029 8884819    1% /
    devtmpfs                 230602   384  230218    1% /dev
    tmpfs                    233378     1  233377    1% /dev/shm
  • 3. 你的诡计:
  • 你居然用乱码来命名,我居然用rm -f 都无法删除你的记录,高手!那没办法了,只能撕掉你的本本,气不气
  • find ./* -inum 节点号 -delete
  • 只要我知道了你的本本内容,即使你怎么改文件名字,我都能找到它。
  • 看电影的时候,想更新电影,只需要在本本上面生成新的inode,文件名还保持一样!旧的inode也在你的本本上面消失不见,你的本本居然还可以动态更新。
  • 4. 攻击:让你的本本用尽。
  • touch /data/test{1..n}.txt
  • 你只能删掉哪些大量占用inode的文件了。
  • 5. 你的防御:硬链接
  • 多个文件名指向同一个片片,Links++,目录是不可以做硬链接的(因为在目录中除了文件相关内容外,还有一个指向父目录的目录项):
  • ln 源文件 目标
  • 5. 你的防御:软链接
  • 文件名的指向,文件路径的指向,Links不变,因为不是inode的链接。
  • ln -s 源文件或目录 目标文件或目录

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值