天天看點

Linux中的粘滞位的作用

  在Linux中,有個“一切皆檔案”的說法,而且每個“檔案”都有自己的權限,但是有些時候這些權限起的作用有點讓人琢磨不透,對檔案的管理就會達不到條理的、合适的管理要求。最簡單也是最典型的例子就是:建立一個目錄,在這個目錄裡面建立一個普通檔案,這個檔案的權限預設情況下是664,即“rw-rw-r–”,表示other使用者沒有權限寫入和執行,但是假如我們切換道另一個使用者,然後rm即删除這個檔案,會發現,在詢問“rm: remove write-protected regular empty file `file’? ”後,如果你輸入“y”,就會直接删除,這是你想要的結果嗎?顯然不是。

Linux中的粘滞位的作用

  那麼對于這種情況有什麼解決的辦法呢?那麼這就是我們所說的“粘滞位”了,粘滞位的作用簡單來說就是保證使用者無法删除擁有者不是自己的檔案,例如:A使用者建立了一個檔案,進行了一系列操作,然後登出,此後一段時間這個系統就是使用者B來使用了,但是A有時候還是會來使用這個系統和他儲存的檔案,假如設定了粘滞位的話,那麼使用者B就無法對A使用者的檔案進行删除操作,但是能保證B在這個目錄下進行“讀、寫、執行”,唯一不能進行的操作就是删除擁有者非B的檔案。

  還有,關鍵的一點是:粘滞位的設定是給目錄設定的,對其他檔案無效。

  粘滞位的設定是通過更改權限設定的,通過指令:chmod o+t 目錄名設定,通過指令:chmod o-t 目錄名去除粘滞位。

Linux中的粘滞位的作用

設定成功之後,我們再來執行一次文章開始的操作:

Linux中的粘滞位的作用

  這時的file檔案已經無法删除,雖然詢問之後還是選擇yes,但是仍然沒有删除。

  粘滞位的設定中注意兩點,這個目錄需要A來建立,這個目錄的粘滞位需要A來設定,當然,檔案的擁有者必須是A。這樣的話B才無法删除,如果設定中的使用者不對,那麼很可能起不到預期的作用。

繼續閱讀