關於linux下粘貼位(sticky位).
要刪除一個文件,你不必定要有這個文件的寫權限,但你必定要有這個文件的上級目錄的寫權限。也就是說,你即便沒有一個文件的寫權限,但你有這個文件的上級目錄的寫權限,你也能夠把這個文件給刪除,而若是沒有一個目錄的寫權限,也就不能在這個目錄下建立文件。
如何才能使一個目錄既可讓任何用戶寫入文件,又不讓用戶刪除這個目錄下他人的文件,sticky就是能起到這個做用。stciky通常只用在目錄上,用在文件上起不到什麼做用。
在一個目錄上設了sticky位後,(如/home,權限爲1777)全部的用戶均可以在這個目錄下建立文件,但只能刪除本身建立的文件(root除外),這就對全部用戶能寫的目錄下的用戶文件啓到了保護的做用。 linux
若是用戶對目錄有寫權限,則能夠刪除其中的文件和子目錄,即便該用戶不是這些文件的全部者,並且也沒有讀或寫許可。粘着位出現執行許可的位置上,用t表示,設置了該位後,其它用戶就不能夠刪除不屬於他的文件和目錄。可是該目錄下的目錄不繼承該權限,要再設置纔可以使用。 ui
普通文件的sticky位會被linux內核忽略。 spa
目錄的sticky位表示這個目錄裏的文件只能被owner和root刪除 。 繼承
/tmp常被咱們用來存放臨時文件,是全部用戶。可是咱們不但願別的用戶隨隨便便的就刪除了本身的文件,因而便有了粘連位,它的做用即是讓用戶只能刪除屬於本身的文件。 ci
那麼原來的執行標誌x到哪裏去了呢? 系統是這樣規定的, 假如原本在該位上有x, 則這些特別標誌 (suid, sgid, sticky) 顯示爲小寫字母 (s, s, t). 不然, 顯示爲大寫字母 (S, S, T) 。 權限
另外:chmod 777 abc 文件
chmod +t abc co
等價於 內核
chmod 1777 abc ab