1. 程式人生 > 其它 >Linux 檔案許可權

Linux 檔案許可權

技術標籤:linux學習筆記

Linux 檔案許可權

linux檔案是基於角色的訪問控制策略。每個檔案對應三種角色,即所有者(user)、使用者組(group)、其他使用者(others)。針對這三種角色的不同,其設定了三種訪問控制策略讀R、寫W、執行X。

目錄和檔案訪問控制標記意義不同

Linux檔案可以被分為許多種不同的型別,如普通檔案、目錄、字元裝置、塊裝置、符號連結、管道、套接字等等。但是對於訪問控制來說,其只有兩種目錄、普通檔案(除了目錄以外的其他檔案型別)。

普通檔案

R : 讀取檔案的內容

W : 可以修改、截斷檔案內容(但不代表可以刪除檔案)

X : 檔案可以被執行

目錄許可權

R : 可以獲取當前目錄下包含的所有檔案列表

W : 可以對當前目錄下的檔案進行新增或刪除

X : 可以對當前目錄下的檔案進行搜尋

對於上述訪問控制關係圖,建議從儲存結構出發進行理解,更易理解。

檔案系統樹是由一個個節點組成的,這些節點由以下特點

  • 葉子節點:為檔案節點,其表示一個可被訪問的實體
  • 非葉節點:為目錄節點,其內部儲存對其他節點的索引

所以對於目錄節點來說其內部的資料可以抽象化為如下的檔案形式

<file_name>  <physical_location>
<file_name>  <physical_location>
<file_name> <physical_location> <file_name> <physical_location>

檔案內容為檔名和檔案的物理位置(磁碟位置)

因此我們想要獲取某個目錄下所有檔案列表實質上就是訪問一個這樣的檔案內容。

同理如果想要刪除、新增檔案在此目錄,就是修改這個檔案列表的內容。

而執行許可權,又稱為可搜尋許可權,在我們執行讀寫檔案時,都是由核心搜尋檔案系統樹來獲取具體檔案訪問節點的。其獲取過程中需要依次通過目錄節點,能否通過此目錄節點移動到下一個節點由X許可權位指定。

對於檔案節點,其包含以下資訊

<
file_attribute
>
<file_content>

檔案節點包含檔案屬性和檔案內容。

對於檔案內容我們需要獲取到檔案的必要許可權時才能夠進行例如讀、寫操作

而檔案屬性,其讀取不進行任何訪問控制操作,任何使用者都可以獲取檔案的屬性。

特殊檔案訪問位

  • s 設定使用者標誌位

    執行此程式時,設定程序為當前檔案的user ID或者group ID。

  • t 黏著位(sticky bit), 限制刪除符

    只有目錄的所有者才能刪除目錄中的檔案(不可以刪除但是可以新增)