在解释Linux文件的权限之前,我们首先要明确,在 Linux 中的每个用户必须属于一个组,不能独立于组外。在 linux 中每个文件都涉及所有者、所在组、其它组的概念。一般情况下,创建文件的用户,就是文件的所有者。当某个用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组。除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。
一、查看文件的所有者和所在组
使用ll命令或者ls命令即可查看,如下图所示:
二、修改文件的所有者
指令:chown 用户名 文件名
举例:将apple.txt的所有者改为zhang
三、修改文件的所在组
指令:chgrp 组名 文件名
举例:将apple.txt的所在组改为root
四、文件权限的基本介绍
以文件apple.txt和目录workspace为例进行说明:
在文件和目录最前面都有一串字符串,分别为-rw-r--r--和drwxr-xr-x
对这个字符串的0-9位进行说明:
① 第 0 位确定文件类型
-:普通文件
d:目录
l:软链接
c:字符设备(鼠标、键盘)
b:块文件、硬盘
② 第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限。---User
③ 第 4-6 位确定所属组(同用户组的)拥有该文件的权限,---Group
④ 第 7-9 位确定其他用户拥有该文件的权限 ---Other
五、rwx权限详解
5.1 rwx作用到文件
① [ r ]代表可读(read): 可以读取,查看
② [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
③ [ x ]代表可执行(execute):可以被执行
5.2 rwx作用到目录
① [ r ]代表可读(read): 可以读取,ls 查看目录内容
② [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
③ [ x ]代表可执行(execute):可以进入该目录
六、修改文件的权限
使用chmod指令来修改文件的权限
方式一:+ 、-、= 变更权限
u: 所有者 g: 所有组 o: 其他人 a: 所有人 (a表示u 、 g 、 o 的总和 )
① chmod u=rwx,g=rx,o=x 文件名 (= 表示赋予对应权限)
② chmod o+w 文件名 (+ 表示添加对应权限)
③ chmod a-x 文件名 (- 表示删除对应权限)
方式二:通过数字变更权限
规则: r=4 w=2 x=1,rwx=4+2+1=7,r-x=4+1=5
举例: chmod u=rwx,g=rx,o=x 文件名
相当于 chmod 751 文件名