檔案系統和檔案許可權


檔案系統是一種由檔案或檔案夾的集合組織的結構。它確定對資料的控制,即如何儲存和檢索資料。

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-ugoa表示,其中u表示使用者,g表示組,o表示其他,以及a對所有類。
  • operator(+-)用於新增或刪除許可權。
  • permission由指示符rwx表示,以分別允許存取以讀取,修改或執行指令碼。

讓我們更改下面給出的aa.sh檔案的許可權:

1. 為所有類新增執行的許可權

chmod o+w,o+x aa.sh

2.刪除其他類的寫入和執行許可權

chmod o-w,o-x aa.sh


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