天天看點

Linux系統下粘滞位的使用

           粘滞位(Stickybit),或粘着位,是Unix檔案系統權限的旗标。最常見的用法在目錄上設定粘滞位,如此一來,隻有目錄内檔案的所有者或者root才可以删除或移動該檔案,如果不為目錄設定粘滞位,任何具有該目錄寫和執行權限的使用者都可以删除和移動檔案。實際應用中,粘滞位一般用于/tmp目錄,以防止普通使用者删除或移動其他使用者的檔案。

        如下圖所示:

Linux系統下粘滞位的使用

        /tmp這個目錄是作為Linux系統的臨時檔案夾,則表示允許任何使用者,任何程式在此目錄進行建立,删除,移動目錄等操作,是以,便要在這類檔案中設定粘滞位權限。設定粘滞位權限的目錄,隻有該目錄的所有者和超級使用者(root使用者)才有權将其删除或移動,如果不為目錄設定粘滞位,任何具有該目錄寫和執行權限的使用者都可以删除和移動其中的檔案。

        普通檔案的粘滞位會被Linux核心忽略,目錄的粘滞位表示這個目錄裡的檔案隻能被目錄所有者或超級使用者删除,如果使用者對目錄有寫權限,則可以删除其中的檔案和子目錄,即使該使用者不是這些檔案的所有者,而且也沒有讀或寫權限。粘滞位出現在執行許可位置上,設定後,其他使用者就不可以删除不屬于他的檔案和目錄。但是該目錄下的目錄不繼承該權限,要重新設定才能使用。

        設定了粘滞位權限的目錄,其他使用者權限中的“x”将被替換成“t”。使用chmod指令可為某個目錄添加或移除粘滞位權限。如下圖所示:

Linux系統下粘滞位的使用

        如圖,L4_class此目錄沒有粘滞位權限,通過chmod指令為此目錄設定粘滞位權限,粘滞位權限隻是針對其他使用者(other)來進行設定的。

        若其他使用者的權限中,沒有可執行權限,則設定了粘滞位權限中的“x”将會被替換為“T”,如下圖所示。

Linux系統下粘滞位的使用

        以上,讨論了Linux中粘滞位是如何讓使用的,如有錯誤,歡迎在下方評論中指出。

繼續閱讀