檔系統是一種由檔或檔夾的集合組織的結構。它確定對數據的控制,即如何存儲和檢索數據。
1. 檔系統
Linux檔系統是一個由許多目錄組成的樹狀結構。這些目錄只是包含其他檔列表的檔。Linux在檔和目錄之間沒有區別。Linux檔系統中的所有檔都稱為目錄,這些檔的分類如下:
- 包含數據,文本,圖像,程式指令的普通檔。
- 用於訪問硬體設備的特殊檔。
- 包含普通檔和特殊檔的目錄。
下麵讓我們看一下Linux檔系統。使用ls -l命令列出所有檔和目錄。
上面圖中有七列,其定義如下:
- 第一列代表檔類型和文件許可權。每個檔行均以檔類型開頭,然後指定與檔關聯的訪問許可權。如以下類型的檔,帶有其特定字元:- 常規檔(-)
- 目錄(d)
- 鏈接(l)
- 特殊檔案(c)
- 套接(s)
- 命名管道(p)
- 塊設備(b)
 
- 常規檔(
- 第二列代表存儲塊的數量。
- 第三列代表檔的所有者或具有管理權限的超級用戶。
- 第四列代表所有者/超級用戶組。
- 第五列代表檔大小。
- 第六列表示創建或最後修改檔的日期和時間。
- 最後一列代表檔或目錄的名稱。
2. 檔許可權
儘管具有最佳安全性,基於Linux的操作系統仍需要檔許可權來保護其檔系統,因為當用戶向檔和目錄分配不當許可權時,會發生基於檔許可權的問題。這些問題可能導致惡意或意外篡改檔系統。因此,Linux通過以下兩個授權屬性來保護其檔系統:
2.1. 許可權
與檔相關的三種類型的許可權如下:
- 閱讀(r)許可權,可以通過此許可權可以查看檔的內容。
- 寫入(w)許可權,通過此許可權可以修改檔內容。
- 執行(x)許可權,通過此許可權可以運行編程檔或腳本。
注意:在調用許可權的情況下會提供破折號(
-)。
2.2. 所有權
Linux用戶分為以下三種:
- 所有者是創建檔的超級用戶。他可以訪問與檔關聯的所有權限,包括讀取,修改和運行檔。
- 用戶組稱為一組用戶或多用戶。超級用戶創建用戶組,組中的每個成員都具有與檔關聯的相同訪問許可權。
- 其他用戶(即第三方用戶)是不屬於超級用戶/組成員的其他任何人。他們使用與超級用戶/組成員創建或擁有的任何檔或目錄關聯的許可權。
讓我們通過一個例子來理解這個概念。
以第一列為例,它有十個槽位。
- 第一個插位(-)表示由aa.sh命名的檔。
- 接下來的三個插位(rw-)指定分配的所有者使用的許可權。此許可權表示可以讀取和寫入。在這裏,執行許可權被拒絕。
- 接下來的三個插位(r--)指定擁有該目錄的組成員使用的許可權。此許可權表示可以讀取許可權,但不包括執行許可權。
- 接下來的三個插位(r--)指定第三方用戶使用的許可權。此許可權表示可以讀取許可權。在這裏,讀寫許可權均被拒絕。

3. 更改許可權
可以使用chmod命令更改每個類(用戶/組/其他)的檔許可權。刪除或添加任何類的任何許可權的基本形式是:
chmod [class][operator][permission] file_name
chmod [ugoa][+or-][rwx] file_name
其中,
- class由- -u,- g,- o和- a表示,其中- u表示用戶,- g表示組,- o表示其他,以及- a對所有類。
- operator(- +或- -)用於添加或刪除許可權。
- permission由指示符- r,- w,- x表示,以分別允許訪問以讀取,修改或運行腳本。
讓我們更改下麵給出的aa.sh檔的許可權:
1. 為所有類添加執行的許可權
chmod o+w,o+x aa.sh

2.刪除其他類的寫入和執行許可權
chmod o-w,o-x aa.sh

因此,如果需要,都可以更改類的任何許可權。
