普通文件的权限包含三个基本属性:读,写执行;显然,读和写权限允许用户从某个文件中读取数据,或向文件写入新的数据。如果用户有写权限,那么还可以将该文件当成一个程序或Shell脚本使用。用于描述这些权限的字符是r, w and x.
目录也使用这些相同的权限,但是意义不同。如果某个目录具有
读权限意味着用户可以查看该目录中有哪些文件。
写权限意味着用户可以用户可以在目录中增加,删除或重命名文件。
执行权限允许用户在访问某个目录中的文件时使用该目录的目录名。
假设用户有对某个目录的读权限,但是并没有该目录中文件的执行权限。那么用户仍可以阅读这个目录,或文件的索引节点信息。该信息是由stat系统调用返回的。即用户可以看到文件名,权限,文件大小,访问次数,所有者,所在的组和链接数目,但不能阅读文件的内容。
目录的写权限允许用户修改目录的内容。因为文件名被保存在目录而不是文件中,所以目录中的写权限就允许创建,重命名或删除文件。具体的说,如果有人对你的主目录有写权限,他就可以重命名或删除.login文件并且在该外插入一个新文件。那.login文件的权限对此并没有影响。即使不能阅读文件的内容,也可以重命名一个文件。
目录的执行权限有时也被称为搜索权限。如果用户发现某个目录提供了执行权限,但没有提供读权限,那也可以使用该目录中的任何文件,但是必须知道文件名,用户不能深入到目录中找出文件的名称。这类目录就如一个黑盒子,用户可以将文件名放入该目录,但能不能找得到文件就不一定了。
文件权限很容易理解,但目录+文件的权限要同时适当的话就有点复杂了!
通过以上可以让我知道,当创建目录的时候,特别是提供给WEB服务器使用的时候, 一定要注意权限的问题。目录的读,写和执行权限并不就代表目录里面的文件的读,写和执行权限。在用chmod来构建权限的时候要考虑到目录的权限的时候同时也要考虑到文件的权限,这样才是上好计策,而不是盲目的给目录一个777!
阅读(867) | 评论(0) | 转发(0) |