我们知道不同的角色针对同一个文件(目录)可能会有不同的权限,那么rwx权限的意义是什么呢?
对于文件
文件是包含实际数据的地方,包括一般文本文件、数据库内容文件、二进制可执行文件等。对于文件来说,rwx权限的意义为:
r:read,可读取此文件的内容,即可以打开文件;
w:write,可编辑此文件的内容,如可以增加、删除、更改文件内容;
x:execute,可以执行此文件。
需要注意的是,文件的权限rwx都是针对文件内容来说的。比如w权限,是针对文件内容的增、删、改,而不是针对文件本身。即,某用户有针对该文件的w权限,也无法删除或重命名该文件。
对于目录
对于目录来说,rwx权限的意义为:
r:表示有读取目录内容列表的权限,即可以使用ls命令查看该目录的内容列表;
w:表示有更改目录的权限,即可以在此目录下新建文件或子目录、删除文件或子目录、重命名文件或子目录、挪动该目录内的文件或子目录等。
x:表示可以进入该目录,即可以使用cd命令进入该目录。
需要注意的,若某用户有针对该目录的w权限,则可以删除该目录下的文件,哪怕该用户对于此文件无任何权限(因为对文件的权限都是针对文件内容的)。
再需要注意的是x权限。r权限决定了用户是否可以ls出目录内容,而x权限决定了用户是否可以cd到该目录。比如我们在/tmp下创建目录test1,设置其权限为[drwxrw-r--]:
此时,切换到zhang用户,验证如下:
即,对于zhang用户来说,只有r的权限没有x的权限,则只能ls,不能cd到该目录。
而如果设置zhang只有x的权限,则:
则变成了只能cd到该目录,而不能ls该目录。