天天看點

Linux:通路權限與粘滞位之詳解

linux中檔案權限與目錄權限

檔案或目錄的通路權限分為隻讀,隻寫和可執行三種。

權限代号:

r (read):讀權限,用數字4表示

w (write):寫權限,用數字2表示

x(execute):執行權限,用數字1表示

- :删除權限,用數字0表示

s :特殊權限

這3種權限組成一組rwx分别對應3個安全級别,分别為對象的所屬者,對象的所屬組,系統其它使用者

數字與字元對應關系如下:

r=4,w=2,x=1

若要rwx屬性則4+2+1=7

若要rw-屬性則4+2=6;

若要r-x屬性則4+1=7。

Linux:通路權限與粘滞位之詳解

chmod指令

在了解粘滞位之前我們先學習一下chmod這個指令。

chmod指令即用于改變linux系統檔案或目錄的通路權限。

1. 指令格式:

chmod [-cfvR] [–help] [–version] mode file

2. 必要參數:

-c 當發生改變時,報告處理資訊

-f 錯誤資訊不輸出

-R 處理指定目錄以及其子目錄下的所有檔案

-v 運作時顯示詳細處理資訊

3,常見情況

sudo chmod 600 ××× (隻有所有者有讀和寫的權限) 
 sudo chmod 644 ××× (所有者有讀和寫的權限,組使用者隻讀的權限)
           

sudo chmod 700 ××× (隻有所有者有讀和寫以及執行的權限)

sudo chmod 666 ××× (每個人都有讀和寫的權限)

sudo chmod 777 ××× (每個人都有讀和寫以及執行的權限)

粘滞位

Linux下有一個用于存放臨時檔案的目錄 /temp,每一個使用者産生的臨時檔案都存放在 /temp目錄下面,而我們今天的主角

粘滞位一般用于/tmp目錄,以防止普通使用者删除或移動其他使用者的檔案。

一個目錄具有粘滞位,則在other的X位會表現為 t,或者T.大小寫的差別在于,原來x位上有x權限,有了粘滞位則表現為t.否則,表現為T。

那到底什麼是粘滞位呢?

舉個類似的例子吧,我們學校的告白牆,A,B,C三個小夥子都去告白牆給我們的校花同學告白,A喜歡搗亂,為了防止A去删除B和C同學的告白詞,所有就有了所謂的告白牆主D以維護B和C權益,A可以向牆主申請加密維護,加密後隻有牆主和B或C可删除告白詞(牆主D就像是我們的root使用者,A 就像是普通使用者,申請加密就類似于這裡的設定粘滞位)

一個目錄具有粘滞位,則在other的X位會表現為 t,或者T.大小寫的差別在于,原來x位上有x權限,有了粘滞位則表現為t.否則,表現為T。

(1)檢視/tmp權限可以發現确實存在一個t.

Linux:通路權限與粘滞位之詳解

(2)用root身份建立一個目錄名為file的目錄,并用參數-m為它指定權限為777(可讀,可寫,可執行),在file目錄下建立兩個檔案boyA,boyB.

因為other對該目錄具有w權限,是以可以删除目錄内容。

Linux:通路權限與粘滞位之詳解

(3)切換至普通使用者嘗試去删除上步驟建立的兩個檔案,結果顯示可以。

Linux:通路權限與粘滞位之詳解

(4)回到root使用者下給目錄file加上(指令:chmod o+t .),檢視目錄發現other的權限為t,說明添加粘滞位成功。依舊在該目錄下建立兩個檔案boyA,boyB.

Linux:通路權限與粘滞位之詳解

(5)再次嘗試删除那兩個檔案,結果顯示不可以。事實證明粘滞位給其它使用者帶來安全限制。

Linux:通路權限與粘滞位之詳解

(6)用root對該檔案進行删除操作。結果發現,依舊可以正常删除。

Linux:通路權限與粘滞位之詳解

總結

:即當一個目錄被設定為”粘滞位”(用chmod a+t),則該目錄下的檔案隻能由

一、超級管理者(root)删除或移動

二、該目錄或檔案的所有者删除 或移動

注意:

(1)雖然目錄有了粘滞位,other使用者不能對該目錄的檔案進行删除或者移動操作,但是other對該檔案由w權限,還是可以進行修改檔案内容的。

(2)粘滞位隻對目錄有效,對檔案無效。

繼續閱讀