755,775,777,ugoa 等分別代表什么含義?這些數字是如何得到的?
1.常用的linux文件權限:
444 -r--r--r--
600 -rw-------
644 -rw-r--r--
666 -rw-rw-rw-
700 -rwx------
744 -rwxr--r--
755 -rwxr-xr-x
777 -rwxrwxrwx
注:使用ll命令查看文件/文件夾屬性時候,一共有10列,第一個小格表示是文件夾或者連接等等
d表示文件夾,l表示連接文件,-表示文件
2.用戶分組權限概念
從左至右:
- 1-3位數字代表文件所有者的權限
- 4-6位數字代表同組用戶的權限
- 7-9數字代表其他用戶的權限
3.數字概念解析
- 讀(r)=4
- 寫(w)=2
- 執行(x)=1
- 讀+寫+執行=4+2+1=7
通過4、2、1的組合,得到以下幾種權限:
0(沒有權限)
4(讀取權限)
5(4+1 | 讀取+執行)
6(4+2 | 讀取+寫入)
7(4+2+1 | 讀取+寫入+執行)
4.rwx字符的概念
以755為例
- 1-3位7等於4+2+1,rwx,所有者具有讀取、寫入、執行權限
- 4-6位5等於4+1+0,r-x,同組用戶具有讀取、執行權限但沒有寫入權限
- 7-9位5,同上,也是r-x,其他用戶具有讀取、執行權限但沒有寫入權限
5.對ugoa的理解
ugoa簡寫的含義:
簡稱 |
含義 |
u |
user(文件的所有者) |
g |
group(與文件相關聯的組) |
o |
other(所有其他用戶) |
a |
all(ugo的所有用戶) |
操作運算符:
operator |
含義 |
+ |
為指定的用戶類型添加權限 |
- |
為指定的用戶類型刪除權限 |
= |
設定或重置指定用戶類型的權限 |
設計ugoa的含義:
- 我之前有個疑問以數字的形式去修改文件權限,為什么還需要有ugoa這種形式去修改權限呢?
原因可能是:雖然有了數字形式修改權限,但是修改起來可能不是很方便,使用ugoa的形式可以快速的去更改一個文件的權限,例如我需要去掉group和other用戶的執行權限:chmod go-x hello.sh 或者給所有用戶添加讀寫執行權限: chmod a+rwx hello.sh 等等