了解 Linux 中文件的权限

了解 Linux 中文件的权限

我想知道文件的读/写访问权限,所以我这样做了

ls -l Denem.sh

该命令显示

-rwxr-xr-x  1 pavan employee 672 DEC 20  2000 pavan.sh

有人可以告诉我 -rwxr-xr-x 表示什么吗?
从 Wikipedia.com 我发现 -rwxr-xr-x 表示

-rwxr-xr-x
表示普通文件,其用户类具有完全权限,其组和其他类仅具有读取和执行权限。

现在我的问题是我们应该采取中间的事情吗(-xr-)考虑??

答案1

这个字符串:

-rwxr-xr-x

分为四个部分:

-    indicates what kind of file it is
rwx  (first 3) owner permissions
r-x  (second 3) group permissions
r-x  (last 3) other permissions

总而言之,该字符串应该提供(一目了然)文件最重要的方面。即它是什么以及谁可以用它做什么。


第一节

字符串中的第一个字符是为文件类型保留的。任何常规的旧文件都会-在这个位置有一个 。其他包括:

d directory
p pipe/fifo
l link
c character device file
b block device file
s local domain socket

所以管道可能看起来像这样:

prwx------ root root filename

第二-第三-第四节

接下来的 9 位描述了每个人对此文件拥有的权限。权限分为三种类型:

r read (opening the file for reading, can't save changes)
w write (change the contents of file)
x execute (run the file, like a script or binary)

这些权限可以应用于三个组:

owner whoever owns the file (as seen by the output of ls -l)
group whoever is part of the group owner of this file
others anyone who doesn't fall in either of the two above categories

例如:

-rwxr-xr-x  1 pavan employee 672 DEC 20  2000 pavan.sh
pavan is the owner
employee is the group owner name
anyone else falls into "others"

参考上面的例子,如果我们想要pavan完全控制该文件,则允许employee组中的任何人读取或执行该文件并阻止所有权限others

-rwxr-x---

号码

权限有时用数字表示的原因是,使用 9 位的八进制表示通常更容易(我仍然更喜欢直接表示rwx)。

要理解这些数字的含义,您需要构建一个表(如果您曾经使用过二进制,这将有所帮助):

#  r  w  x
0  0  0  0
1  0  0  1
2  0  1  0
3  0  1  1
4  1  0  0
5  1  0  1
6  1  1  0
7  1  1  1

您可以参考此图表了解每组三位。例如,如果我决定给予文件所有者完全控制权(r、w 和 x),则仅读取该组,也仅读取其他人:

rwx owner corresponds to 7 in the table
r-- group corresponds to 4 in the table
r-- other corresponds to 4 in the table
Therefore my file has permissions 744

答案2

像这样划分:

- rwx r-x r-x

它是所有者、组和其他人。所以所有者(pavan)可以读、写、执行;组内的人employee可以读和执行,但不能写;其他人也可以读取和执行,但不能写入。

前面-的可能是d目录、l符号链接等man ls

相关内容