zoukankan      html  css  js  c++  java
  • Linux文件系统inode、block解释权限(三)

      利用文件系统的inode和block来分析文件(目录)的权限问题。

    1. 为什么读取一个文件还要看该文件路径所有目录的权限?
    2. 为什么目录的w权限具有删除文件的能力,而文件w权限不行。

      inode:记录文件的属性,一个文件占用一个inode,同时记录了文件数据所在的block号码。Ext3文件系统inode大小为128B,Ext4文件系统inode大小为256B。

      block:记录了文件的内容,若文件太大会占用多个bolck块。一般大小为1k、2k、4k。

    inode和block在文件系统里,均用号码标示。

    如下:

    hang@hang:/home$ ll -i
    总用量 20
    #inode号 #文件大小,这里是一个4k的block块的大小
    24641537 drwxr-xr-x 5 root root 4096 11月 27 19:19 ./ 2 drwxr-xr-x 24 root root 4096 11月 26 19:55 ../ 24641538 drwxr-xr-x 23 hang hang 4096 11月 28 13:47 hang/ 24642065 drwxr-xr-x 2 zncu zncu 4096 11月 25 20:47 zncu/ 24647652 drwxrws--- 2 root znha 4096 11月 27 20:54 znha/

    其他更多的文件系统相关不在介绍,总之inode记录了文件/目录的权限和block号码,block记录了文件的实际内容、目录下的文件名以及这些文件名的inode号

    例子:想要读取/etc/passwd,经过了哪些流程。

    root@hang:/# ll -di /  /etc  /etc/passwd
           2 drwxr-xr-x  24 root root  4096 11月 26 19:55 //
    17301505 drwxr-xr-x 131 root root 12288 11月 27 13:18 /etc/
    17304397 -rw-r--r--   1 root root  2350 11月 26 20:08 /etc/passwd

    1./的inode: 通过挂载点信息,找到/目录的inode号(2),且该inode具有rwx权限,我们可以读取inode号(2)所记录的block块内容。

    2./的block:  在/目录的block内容里找etc/目录的inode号(17301505)

    3./etc的inode: /etc的inode(17301505)具有rwx权限,我们可以读取/etc的block块的具体内容。

    4./etc的block: 在block块里找到passwd文件的inode(17304397)。

    5.passwd的inode: 根据passwd文件的inode(17304397)得知具有读取权限。

    6.passwd的block: 根据inode(173044397)所记录的block块读取passwd的具体内容。

    可以看到,从根目录一步一步到passwd需要验证每一个目录的权限,如果其中一个目录不具有相应权限,那么这个操作就会失败,如果无法进入/etc目录,何谈读取passwd文件。

    也可以得知为什么文件的删除等操作是被目录的w权限控制的,因为w权限可以具有修改block块的能力,目录的block记录了文件名和文件inode,删除文件就是block块存储的文件名和inode,而文件的block记录的是文件具体内容,所以w权限是对文件内容的修改,而不具备删除文件等权限。

     http://www.cnblogs.com/yuhanghzsd/p/6109513.html

  • 相关阅读:
    IE6/IE7下:inline-block不兼容的问题
    ie6、ie7下overflow失效
    display:inline、block、inline-block三者之间的区别
    分割线用CSS样式做出来的效果
    jQuery实现鼠标点击div外的地方div隐藏消失的效果
    IE6下面的浮动问题
    [zabbix]zabbix分区表操作步骤
    [转载]系统管理:update-alternatives
    zabbix调优PPT
    mysql修改密码
  • 原文地址:https://www.cnblogs.com/yuhanghzsd/p/6109513.html
Copyright © 2011-2022 走看看