天天看點

特殊權限(t)之粘着位

   linux中有一個存放臨時檔案的目錄/tmp(類似于windows中的temp目錄),每個使用者産生的臨時檔案都存放在此目錄下,也就是說每個使用者對/tmp目錄都應該有寫權限(否則無法拷貝生成檔案),這樣造成一個問題,比如,小王在/tmp目錄下建立了一個檔案,小張看着不爽就可以删掉,這如何控制?  其實,這種情況永遠都不會發生,因為/tmp目錄有一個特殊的權限标記:

#ls -ld /tmp

drwxrwxrwt 5 root root 4096 may 24 13:55 /tmp

   瞧見那個rwx權限最後的“t”了沒,那個神奇的“t”就是粘着位t(有的資料中文也稱為粘滞位),是linux特殊權限中的第三個(另外兩個是setuid和setgid),定義為:權限為777的目錄設定粘着位t以後,具有寫權限每個使用者都可以在目錄下建立檔案,不同的是每個使用者隻能删除自己是所有者的檔案,也就是說隻能删除自己建立的檔案。

如何給一個目錄賦上這個權限?

chmod o+t /test   # 追加t權限

或 chmod 1777 /test #在777權限基礎上再加上t權限

那麼原來的執行标志x到哪裡去了呢? 系統是這樣規定的, 如果本來在該位上有x, 則這些特殊标志顯示為小寫字母 (s, s, t). 否則, 顯示為大寫字母 (s, s, t)

本文出自 “” 部落格,謝絕轉載!

繼續閱讀