前言
linux中对于每个文件都有 读(-r)、写(-w)、执行(-x),那么其具体的含义都是什么呢?
这些权限的含义并没有表面上那么简单,甚至同一权限对文件和目录的含义也不相同。
rwx 权限对文件的作用
文件,是系统中用来存储数据的,包括普通的文本文件、数据库文件、二进制可执行文件,等等。不同的权限对文件的含义如下表所示
rwx 权限 | 对文件的作用 |
---|---|
读权限 (r) |
表示可读取此文件中的实际内容,例如,可以对文件执行 cat、more、less、head、tail 等文件查看命令。 |
写权限 (w) |
表示可以编辑、新增或者修改文件中的内容,例如,可以对文件执行 vim、echo 等修改文件数据的命令。注意,无权限不赋予用户删除文件的权利,除非用户对文件的上级目录拥有写权限才可以。 |
执行权限 (x) |
表示该文件具有被系统执行的权限。Window系统中查看一个文件是否为可执行文件,是通过扩展名(.exe、.bat 等),但在 Linux 系统中,文件是否能被执行,是通过看此文件是否具有 x 权限来决定的。也就是说,只要文件拥有 x 权限,则此文件就是可执行文件。但是,文件到底能够正确运行,还要看文件中的代码是否正确。 |
对于文件来说,执行权限是最高权限。给用户或群组设定权限时,是否赋予执行权限需要慎重考虑,否则会对系统安装造成严重影响
rwx 权限对目录的作用
目录,主要用来记录文件名列表,不同的权限对目录的作用如表 2 所示
rwx 权限 | 对目录的作用 |
---|---|
读权限 (r) |
表示具有读取目录结构列表的权限,也就是说,可以看到目录中有哪些文件和子目录。一旦对目录拥有 r 权限,就可以在此目录下执行 ls 命令,查看目录中的内容。 |
写权限 (w) |
对于目录来说,w 权限是最高权限。对目录拥有 w 权限,表示可以对目录做以下操作:
一旦对目录拥有 w 权限,就可以在目录下执行 touch、rm、cp、mv 等命令。 |
执行权限 (x) |
目录是不能直接运行的,对目录赋予 x 权限,代表用户可以进入目录,也就是说,赋予 x 权限的用户或群组可以使用 cd 命令。 |
对目录来说,如果只赋予 r 权限,则此目录是无法使用的。
很简单,只有 r 权限的目录,用户只能查看目录结构,根本无法进入目录(需要用 x 权限),更不用说使用了
因此,对于目录来说,常用来设定目录的权限其实只有 0( – – – )、5( r – x )、7( r w x )这 3 种