linux 粘貼位t

Linux中目錄的粘貼位(t位)

directory permission(目錄權限)

  same bits, but different semantics from those of files

    r: can list directory contents

    w: can add or remove files from a directory  ####刪除一個文件,要看它的目錄權限是否有w

    x: can enter a directory

  especially, when the "w" bit is set, anyone can remove anyone's files, how can we prevent this?

    the "t" bit (sticky bit)

    everyone can only remove herself's files

    e.g., run:

       $ ls -l /

    and then check the directory "/tmp"

      what's it's permmission bits? why?

----------------------------------------------------

關於linux下粘貼位(sticky位).
要刪除一個文件,你不一定要有這個文件的寫權限,但你一定要有這個文件的上級目錄的寫權限。也就是說,你即使沒有一個文件的寫權限,但你有這個文件的上級目錄的寫權限,你也可以把這個文件給刪除,而如果沒有一個目錄的寫權限,也就不能在這個目錄下創建文件。
如何才能使一個目錄既可以讓任何用戶寫入文件,又不讓用戶刪除這個目錄下他人的文件,sticky就是能起到這個作用。stciky一般只用在目錄上,用在文件上起不到什麼作用
在一個目錄上設了sticky位後,(如/home,權限爲1777)所有的用戶都可以在這個目錄下創建文件,但只能刪除自己創建的文件(root除外),這就對所有用戶能寫的目錄下的用戶文件啓到了保護的作用。

 

如果用戶對目錄有寫權限,則可以刪除其中的文件和子目錄,即使該用戶不是這些文件的所有者,而且也沒有讀或寫許可。粘着位出現執行許可的位置上,用t表示,設置了該位後,其它用戶就不可以刪除不屬於他的文件和目錄。但是該目錄下的目錄不繼承該權限,要再設置纔可使用。

普通文件的sticky位會被linux內核忽略。

目錄的sticky位表示這個目錄裏的文件只能被owner和root刪除 。

/tmp常被我們用來存放臨時文件,是所有用戶。但是我們不希望別的用戶隨隨便便的就刪除了自己的文件,於是便有了粘連位,它的作用便是讓用戶只能刪除屬於自己的文件。

  1.  $ ls -dl /tmp  

  2. drwxrwxrwt 15 root   root  .........  

那麼原來的執行標誌x到哪裏去了呢? 系統是這樣規定的, 假如本來在該位上有x, 則這些特別標誌 (suid, sgid, sticky) 顯示爲小寫字母 (s, s, t). 否則, 顯示爲大寫字母 (S, S, T) 。

另外:chmod 777 abc  

     chmod +t abc   

等價於  

     chmod 1777 abc  

文章出自:http://www.cnblogs.com/xingyun/archive/2011/12/03/2274546.html

=========================================================================


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章