第十篇:Linux中許可權的再討論( 上 )

穆晨發表於2017-01-28

前言

       在Linux系統中,使用者分為三個部分( 所有者 同組人 其他 )。每個部分的許可權又可以賦予讀/寫/執行許可權。這樣,檔案的許可權標記一共包含 9 個許可權位。好了,很多朋友對於Linux許可權的瞭解就僅限於此了。但,Linux目錄許可權和檔案許可權一樣嗎?核心對於許可權的檢查過程又是怎樣的?

       如果你不清楚,本文將為你解惑。

目錄許可權

       1. 目錄讀許可權

       目錄讀許可權允許讀取目錄的檔案列表並顯示出來,僅僅是允許讀取檔案列表,對於檔案其他資訊的讀取不保證。

       事實上,如果只有讀許可權沒有寫許可權,那麼執行檢視目錄後顯示如下:

       

       2. 目錄寫許可權

       如果要在目錄裡面建立檔案,那麼就需要寫許可權,別忘了,也要執行許可權

       3. 目錄執行許可權

       目錄執行許可權允許你進入這個目錄。比如,你要cd進一個目錄( 切換工作目錄 );又比如,當你要開啟一個檔案,那麼,對於這個檔案完整路徑上的每個目錄,你都要具備其執行許可權。

核心許可權檢查機制

       核心許可權檢查機制涉及到了檔案所有者,檔案所有組,程式有效使用者ID,程式有效組ID,程式附加組ID。其中前兩個屬於檔案屬性,後三個屬於程式屬性。下面的檢查機制實際上就是比對檔案的許可權ID和程式的許可權ID。

       核心許可權檢查機制分步驟進行,任何一步執行完後如果程式分配到了許可權,則檢查結束。

       第一步:如果程式有效使用者ID為0 ( 即root使用者 ),那麼該程式可對檔案/目錄做任何處理。

       第二步:若程式的有效使用者ID等於檔案的所有者ID,那麼該程式賦予檔案所有者許可權。

       第三歩:若程式的有效組ID或者附加組ID等於檔案所有組ID,那麼該程式賦予檔案所有組許可權。

       第四步:若檔案的其他使用者許可權被設定,則程式賦予其他使用者許可權。

說明

       其實Linux還有一些特殊許可權( 也很重要 ),我將在下一篇文章進行講解。

相關文章