ubuntu中的文件与目录权限

来源:互联网 发布:用g76车m10螺纹编程 编辑:程序博客网 时间:2024/06/08 12:02

刚接触ubuntu,对于其文件系统中的权限问题总是有疑问。特此整理出来,供以后查阅。

对与ubuntu中i节点不了解的可以参考:http://blog.csdn.net/cc_946079647/article/details/19088205

一、目录也是文件

ubuntu的文件系统对待目录的方式是将目录也作为文件。即目录的i节点中存储目录文件的相关属性信息(权限、各种时间信息以及再磁盘中的存储位置等),而其在磁盘中的存储的内容即目录表。该目录下的每一个文件都占据一项,另外还包括“."和“..”这两个特殊的目录文件,每个表项的内容即为该文件的文件名和i节点号。换句话说,目录文件的文件内容就是该目录下包含的所有文件的名称和i节点号。

二、文件的分类

ubuntu下的文件可分为档案文件和目录文件两类;而档案文件又可以分为文本文件、二进制可执行文件、数据格式文件(不同于普通的文本文件,有特殊的格式)、软链接文件、设备文件(又分为块设备文件和字符设备文件)、管道文件、socket文件等。这些不同的文件通过ls -l命令可以区分。

目录文件;d

文本文件:-

软链接文件:l

二进制可执行文件:-

数据格式文件:-

块设备文件:b

字符设备文件:c

管道文件:p

socket文件:s

三、rwx权限对档案文件的含义

对于文件来说,r权限表示可以读取该文件的内容;

w权限表示可以对文件内容进行修改、添加、删除操作;

x权限表示对文件的执行权限,即对于可执行文件,有x表示可以执行,没有x表示无权执行。另外,如果给非可执行文件增加x权限,那么可以选择运行该文件(当然一般情况下是无法运行起来的);如果去除一个可执行文件的x权限,系统仍然知道这是可执行文件,但是无法运行。

下面用例子来具体说明权限的内容。

r权限涉及的事是否有权读取文件的内容,例如使用vim或gedit等编辑器打开某文本文件、利用cp命令复制某文件。但是如果没有r权限,并不影响获取甚至修改文件对应的i节点信息。即,再没有r权限的情况下,仍然可以对文件执行stat、link、ln等命令。

当前用户对union_test.c没有r权限。

仍可执行stat查看i节点信息。

仍然可以建立硬链接(修改i节点中的连接数)。

w权限即是否有权修改文件内容。如果没有w权限那就无法对文件内容进行修改。

x权限就不再详细叙述。

四、rwx对目录文件的含义(下面提到的文件泛指目录文件和档案文件,单独指档案文件时会特别说明)

对目录文件来说,rwx含义与档案文件在表现形式上有所不同。

r权限表示是否可以获取该目录下包含的文件名和文件类型(切记,只有文件名河文件类型,文件大小、权限等信息均无法获得)。如果类比档案文件,即r权限表示是否有权读取该文件的内容,对那么于目录文件来说,具有r权限就应当能够获得该目录下的多有文件的名称与i节点号。但事实并非如此。之举有r权限的情况下,只能获得该目录下包含的文件的名称以及类型。如下面的例子所示。

当前,目录所有者未root,属于cc组,与当前账户cc同属一个组。因此当前账户cc对于此目录只有r权限。

执行ls -l结果,只能显示出目录下的文件名以及类型信息,其他信息由于权限不够无法显示。

如果说r权限表示可以读取文件内容的话,那理应可以显示目录所包含文件的i节点号,但事实并非如此。

无权限访问i节点号。

但要注意的是,r权限不影响对该目录文件i节点信息的访问(注意是该目录文件的i节点,不是目录包含的文件的i节点)。

没有r权限不影响显示目录文件本身的i节点信息(其实对一般的档案文件也是如此)。


对于w权限来说,w权限表示修改文件内容的权限。而目录文件的内容就是其中包含的文件的名称与i节点号,因此,文件的w权限表示删除目录下的文件、修改目录下文件名称、在目录下新建文件等。


对于目录的x权限来说,就与档案文件的x权限有很大区别了。目录的x权限表示是否有权进入此目录。如何理解进入此目录呢?可以把进入目录理解为在目录下执行命令。

例如,某用户拥有对test/目录的rw权限,那么这个用户能否用gedit读取test/a.txt文件的内容呢?答案是否定的。没有test/的x权限,也就不能在这个目录下执行任何命令,因此无法读取文件的内容。

在举一个例子。用户拥有test/的w权限,那么用户是不是可以mkdir test/new呢?答案也是否定的。理由与上面相同。


与上面的例子采用统一个目录。cc对此目录只有rw权限。

无法在目录下建立文件。

可以看到,再没有x权限的情况下,无法执行目录下的命令。

因此,x权限对于目录来说是十分重要的。只给予目录r权限或者w权限往往是不够的。

总结:

1、用户是否有权删除某个文件取决与用户是否具有这个文件所处目录的w权限和x权限,而与这个文件本身的属性无关。

2、对文件i节点信息的查看和修改与权限无关。

3、要特别注意目录的x权限。

0 0
原创粉丝点击