三、权限的基本作用
1、权限含义的解释
首先,读、写、执行权限对文件和目录的作用是不同的。
(1)权限对文件的作用。
- 读(r):
对文件有读(r)权限,代表可以读取文件中的数据。
如果把权限对应到命令上,那么一旦对文件有读(r)权限,就可以对文件执行cat、more、less、head、tail等文件查看命令。 - 写(w):
对文件有写(w)权限,代表可以修改文件中的数据。
如果把权限对应到命令上,那么一旦对文件有写(w)权限,就可以对文件执行vim、echo等修改文件数据的命令。
注意:对文件有写权限,是不能删除文件本身的,只能修改文件中的数据。如果要想删除文件,则需要对文件的上级目录拥有写权限。
说明:
我们之前说过分区,在root目录下有一个abc文件,abc文件会有自己的i节点,i节点里边存放的是i节点号,时间,权限,位置,与之对应的block块中存放着数据。而abc文件的文件名是存放在他上级目录的block块中的。上级目录的block块中存放着abc文件的文件名和对应的i节点号。我对abc文件有写的权限,这个权限是控制abc文件的block块的。所以说对文件中数据有写的权限。而abc文件的文件名是放在上级目录的block块中的,所以也要有上级目录写的权限,才能有对目录的block块中的数据有操作权限,因为abc文件名是root目录的数据,要拥有root目录写的权限,最终才能删除abc文件。
如下图
- 执行(x):
对文件有执行(x)权限,代表文件拥有了执行权限,可以运行。
在Linux中,只要文件有执行(x)权限,这个文件就是执行文件了。
这个文件到底能不能正确执行,不仅需要执行(x)权限,还要看文件中的代码是不是正确的语言代码。
对文件来说,执行(x)权限是最高权限。
(2)权限对目录的作用。
- 读(r):
对目录有读(r)权限,代表可以查看目录下的内容,也就是可以查看目录下有哪些子文件和子目录。
如果把权限对应到命令上,那么一旦对目录拥有了读(r)权限,就可以在目录下执行ls命令,查看目录下的内容了。 - 写(w):
对目录有写(r)权限,代表可以修改目录下的数据,也就是可以在目录中新建、删除、复制、剪切子文件或子目录。
如果把权限对应到命令上,那么一旦对目录拥有了写(w)权限,就可以在目录下执行touch、rm、cp、mv命令。
对目录来说,写(w)权限是最高权限。 - 执行(x):
目录是不能运行的,那么对目录拥有执行(x)权限,代表可以进入目录。
如果把权限对应到命令上,那么一旦对目录拥有了执行(x)权限,就可以对目录执行cd命令,进入目录。(也就是执行权限对于目录来讲没有危险)
2、目录的可用权限其实只有以下几个
- 0:任何权限都不赋予。
- 5:基本的目录浏览和进入权限。
- 7:完全权限。
因为给目录只赋予读的权限是没有意义的,也就是4。因为你要现有执行权限才能进入到目录里,才有查看目录的操作,也就是4+1。
注意:自己做实验的时候不要用root用户,用普通用户进行操作。