對Linux文件權限的理解


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 等等


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM