在Linux系统下有一种一切皆文件思想!所以我们今天谈一谈Linux的文件权限。
Linux对文件访问者可以分为三类:
a) 文件和文件目录的拥有者:u---User.
b)文件和文件目录的所有者所在组的用户:g---Group.
c)其他用户:0---Others.
文件访问权限的种类
a)读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。
b)写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限。
c)执行(x/1):execute对文件而言,具有执行文间的权限;对目录来说,具有进入目录的权限。
我们可以随便看一个目录或文件;
下面我们来思考两个问题:进入目录需要什么权限?进入后要想显示,创建文件需要什么权限?
第一问题:进入目录需要什么权限?
我们首先在root模式下创建一个Code目录并把他的读写执行权限全部取消。
我们尝试进去code目录,发现是可以进去的。其实在root用户下,根本不需要权限,所以在下面就对他不讨论了。
以上实例说明在root用户下,不管目录有没有读,写,执行权限都可以进入到目录。
当我们从root用户切换到普通用户,当没有读,写,执行权限时要想进入目录是否可以?
显然,当什么权限都没有时是进不去目录的。
当我给予读权限时想进入目录也是不行的。
当只我给予写权限时发现想进入目录也是不可能的。
当我赋给他执行条件时,发现他可以进去了。
总结:要想进入一个目录如果是root用户可以不需要读,写,执行权限就可以进入。但如果是普通用户,必须要有执行权限才能进入。
第二个问题:进入目录后要想创建,显示文件需要什么权限?
注:我首先在code中创建了一个Test文件。
当我只给他读和执行权限时,看看他能否创建文件或者显示文件。
我们可以发现当有读,和执行权限时可以显示目录中的文件,但不能创建文件。
当我赋给他读和执行权限时,看看他能否创建文件或者显示文件。
我们可以发现当有读和执行条件时,可以创建文件,但不能显示文件。
总结:root用户不需要权限就可以创建,显示文件。普通用户当进入目录后,必须要有写和执行权限才能创建文件;当想显示文件时,必须要有读和执行权限。