详解Linux系统中的文件权限设置
你要明白的第一件事是文件权限可以用来干什么。当你设置一个分组的权限时发生了什么?让我们将其展开来说,这个概念就真的简单多了。那到底什么是权限?什么是分组呢?
你可以设置的3种权限
1.读 — 允许该分组读文件(用r表示)
2.写 — 允许该分组写文件(用w表示)
3.执行 — 允许该分组执行(运行)文件(用x表示)
为了更好地解释这如何应用于一个分组,例如,你允许一个分组可以读写一个文件,但不能执行。或者,你可以允许一个分组读和执行一个文件,但不能写。甚至你可以允许一个分组有读、写、执行全部的权限,也可以删除全部权限来去除该组的权限。
现在,什么是分组呢,有以下4个
1.user — 文件实际的拥有者
2.group — 用户所在的用户组
3.others — 用户组外的其他用户
4.all — 所有用户
大多数情况,你只会对前3组进行操作,all 这一组只是作为快捷方式(稍后我会解释)。
到目前为止很简单,对吧?接下来我们将深入一层。
如果你打开一个终端并运行命令 ls -l,你将会看到逐行列出当前工作目录下所有的文件和文件夹的列表(如图)
你会留意到最左边那列是像是 -rw-rw-r-- 这样的。
实际上这列表应该这样看
复制代码
rw- rw- r--
正如你所见,列表将其分为如下3部分
1.rw-
2.rw-
3.r--
权限和组的顺序都很重要,顺序总是
1.所属者 所属组 其他人 — 分组
2.读 写 执行 — 权限
在我们上面示例的权限列表中,所属者拥有读/写权限,所属组拥有读/写权限,其他人用户仅拥有读权限。这些分组中赋予执行权限的话,就用一个 x 表示。
等效数值
接下来我们让它更复杂一些,每个权限都可以用一个数字表示。这些数字是:
1.读 — 4
2.写 — 2
3.执行— 1
数值代替不是一个一个的替换,你不能像这样
复制代码