在linux中文件的权限可以通过类似 0777,0666 的形式表示,包括许多语言操作文件时也需要传入这样的权限标识。这里记录对于权限标识的理解。
用户类型
linux 将用户分为 所有者(Owner), 组成员(Group), 其他(Other),超级用户(Root).
文件描述
使用ls -la
可以查看文件的详细信息,开头的第一段就包含了文件的类型和权限范围.
drwxr-xr-x
这一段的格式规则是:
- [1位]{文件类型}:
-
普通文件,d
目录 - [2-4位]{所有者权限}:
-
无权限,r
可读,w
可写,x
可执行 - [5-7位]{组成员权限}:
-
无权限,r
可读,w
可写,x
可执行 - [8-10位]{其他用户权限}:
-
无权限,r
可读,w
可写,x
可执行
[文件类型][所有者][组成员][其他用户],
所以上面的字符内容是:文件类型为目录,所有者可读可写可执行,组成员可读可执行,其他用户可读可执行
这里可以知道权限和当前登录的用户有关,文件的具体权限分为,可读(r), 可写(w), 可执行(x), 无(-)。
每一类用户权限通过三位的字符串表示。
数字简写
除了通过字符模式表示以外, 还可以通过一个三位十进制数表示一个文件的权限,例如:0777。
这里的首位0表示的是十进制计数,所以实际的值是 777。
格式规则:
-
与文件描述的基本规则一样,权限由用户的三种类型组成,每一位代表一种用户的权限, [所有者][组成员][其他用户], 例如 第一7 位代表所有者权限
-
与文件描述不同,权限值是由对应的描述计算得来的,对应关系:
-
r
→ 4 -
w
→ 2 -
x
→ 1 -
-
→ 0
-
所以 7 代表的字符描述是: 4 + 2 + 1 : rwx : 可读可写可执行
现在就能解释0777的含义了,所有者可读可写可执行,组成员可写可读可执行,其他用户可写可读可执行。了解了权限规则,之后就能设置自己所需的权限值,例如 0666 → [0][4 + 2][4 + 2][4 + 2]
网友评论