日期:2014-05-16 浏览次数:20760 次
任何设备在linux下都是文件。
文件即包括windows下的文件又包括windows下的目录,还包括windows下的设备。
一、文件权限的意义
r:可以读这个文件的具体内容;
w:可以编辑这个文件的内容,包括增加删除文件的具体内容 但不包括删除该文件;
x:文件就具有了可执行的权限-------注意:这里和window不一样,在win中,文件的可执行权限是通过扩展名表现出来的,如exe、bat等,但是在linux中文件的可执行权限是通过这个x决定的,与文件名没有什么关系。
rwx权限都是对文件内容而言的,因为文件的inode和block中并没有文件名,所以这些权限跟涉及到文件名的删除没有关系
二、目录权限的意义
r:可以查看此目录下的完整文件列表信息。当有r权限时,你可以读取该目录下所有文件的文件名
-????????? ? ? ? ? ? test
d????????? ? ? ? ? ? test1
d????????? ? ? ? ? ? test2
d????????? ? ? ? ? ? test3
w:可以对此目录下的所有的文件及目录进行相关的更改 具体权利如下:
x:目录没有可执行的权限,因此目录中x的功能就是允许别的用户进入这个目录。
假如你想制作一个只读文件
需要保证对文件的权限是4
对文件所在文件夹的权限是r_x
因为没有x 则无法进入该文件读取文件的内容,有了w则用户可以将该文件删除
磁盘格式化后文件系统就将inode和block规划好了,除非有改变磁盘大小或者格式的操作,否则inode和block不在变化。
在linux下 新建一个目录时,ext2会分配一个inode和至少一个block给该目录。
其中 inode记录该目录的相关权限与属性,以及那些分配给该目录的block块号。
block记录了这个目录下的文件名和该文件名占用的inode
新建一个文件时,ext2会首先找到该文件所在的目录,
分配一个inode和 该文件大小所需的block给该文件,并且在该目录的block中记录下文件名和该文件名占用的inode。
inode中记录了文件的属性(不包括文件名)以及该文件实际存放在的block的号码(三级)
由以上说明可知
1 当读取一个文件时,必然要先读取其目录的inode 找到目录所占的block 从而找到 文件所在的inode,再跟据inode的三级索引找到实际的文件。
2 文件名只与所在目录有关 而文件的属性和此文件的inode有关。
不同的文件名可以指向同一个inode 这就时所谓的hard link (连接字段的含义就是有多少不同的文件名都连接到了这个inode)
软连接是 建立一个指向相应文件名的连接, 当那个文件名被删除的时候,整个路径就不通了。