在linux中文件的權限可以通過類似 0777,0666 的形式表示,包括許多語言操作文件時也需要傳入這樣的權限標識。這里記錄對于權限標識的理解。
用戶類型
linux 將用戶分為 所有者(Owner), 組成員(Group), 其他(Other),超級用戶(Root).
文件描述
使用ls -la
可以查看文件的詳細信息,開頭的第一段就包含了文件的類型和權限范圍.
image.png
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]