在Linux世界中,可以说万物皆文件。Linux文件一般分为两种,一般文件和目录文件。文件权限对于数据安全至关重要,有必要清楚的知道一般文件权限和目录文件权限的意义。
一定要记住:三种权限在文件和文件夹表示的意义是不太相同的,下面来看一下:
权限对文件的作用
文件是实际含有数据的地方,包括一般文本文件、数据库内容档、二进制可可执行文件(binaryprogram)等等。因此,权限对于文件来说,它的意义是这样的:
r(read):可读取此一文件的实际内容,如读取文本文件的文字内容等;
w(write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件);
x(eXecute):该文件具有可以被系统执行的权限。
可读(r)代表读取文件内容比较好理解,那么可执行(x)呢?因为在Windows下面一个文件是否具有执行的能力是借由“扩展名”来判断的,例如:.exe,.bat,.com等等,在Linux下面,我们的文件是否能被执行,则是借由是否具有“x”这个权限来决定的!跟文件名是没有绝对的关系的!至于最后一个w这个权限呢?当你对一个文件具有w权限时,你可以具有写入/编辑/新增/修改文件的内容的权限,但并不具备有删除该文件本身的权限!对于文件的rwx来说,主要都是针对“文件的内容”而言,与文件文件名的存在与否没有关系!因为文件记录的是实际的数据!
权限对目录的作用
文件是存放实际数据的所在,那么目录主要是储存啥玩意?目录主要的内容在记录文件名清单,文件名与目录有强烈的关连!所以如果是针对目录时,那个r,w,x对目录是什么意义呢?
r(readcontentsindirectory):
表示具有读取目录结构清单的权限,所以当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的文件名数据。所以你就可以利用ls这个指令将该目录的内容列表显示出来!
w(modifycontentsofdirectory):
它表示你具有移动该目录结构清单的权限,也就是下面这些权限:
创建新的文件与目录;
删除已经存在的文件与目录(不论该文件的权限为何!)
将已存在的文件或目录进行更名;
搬移该目录内的文件、目录位置。总之,目录的w权限就与该目录下面的文件名异动有关就对了啦!
x(accessdirectory):
那么,目录的执行权限有啥用途啊?目录只是记录文件名而已,总不能拿来执行吧?没错!目录不可以被执行,目录的x代表的是使用者能否进入该目录成为工作目录的用途!所谓的工作目录(workdirectory)就是你目前所在的目录啦!举例来说,当你登陆Linux时,你所在的主文件夹就是你当下的工作目录。而变换目录的指令是“cd”(changedirectory)!4587。