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