天天看點

Linux指令(粘滞位)

            粘滞位

通常情況下使用者隻要對某個目錄具備w寫入權限,便可以删除該目錄中的任何檔案,而不論這個檔案的權限是什麼。

比如我們進行下面的操作:

Linux指令(粘滞位)

我們可以通過chmod 指令修改檔案的讀、寫、執行權限。 那麼在root使用者的身份在/test目錄中建立檔案file1,并檢視其預設權限。

Linux指令(粘滞位)
Linux指令(粘滞位)
Linux指令(粘滞位)

在這裡我們可以看到,雖然/test/file1是超級使用者模式,而file1檔案隻擁有 “r--”權限, 但因為從/test目錄獲得了“rwx”權限,因而仍然可以将/test/file1删除。 在Linux系統中比較典型的例子就是“/tmp”、“/var/tmp”目錄。 這兩個目錄作為Linux系統的臨時檔案夾,權限為“rwxrwxrwx”,即允許任意使用者、任意程式在該目錄中進行建立、删除、移動檔案或子目錄等操作。然而試想一下,若任意一個普通使用者都能夠删除系統服務運作中使用的臨時檔案,将造成什麼結果? 粘滞位權限便是針對此種情況設定,當目錄被設定了粘滞位權限以後,即便使用者對該目錄有寫入權限,也不能删除該目錄中其他使用者的檔案資料,而是隻有該檔案的所有者和root使用者才有權将其删除。設定了粘滞位之後,正好可以保持一種動态的平衡:允許各使用者在目錄中任意寫入、删除資料,但是禁止随意删除其他使用者的資料。 需要注意的是: 粘滞位權限隻能針對目錄設定,對于檔案無效 。 設定了粘滞位權限的目錄,使用ls指令檢視其屬性時,其他使用者權限處的“x”将變為“t”。 例如: 

Linux指令(粘滞位)

粘滞位權限都是針對其他使用者(other)設定,使用chmod指令設定目錄權限時,“o+t”、“o-t”權限模式可分别用于添加、移除粘滞位權限。

例如,為/test目錄設定粘滞位權限。

Linux指令(粘滞位)
Linux指令(粘滞位)

此時普通使用者wgp便無法删除/test/file1檔案 粘滞位權限在生産環境中也被廣泛應用,當需要為使用者提供一個開放目錄而又不希望造成管理混亂時,通過為目錄設定粘滞位權限便可以解決問題。

繼續閱讀