我想知道文件的读/写访问权限,所以我这样做了
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
。