粘滯位(Stickybit),又稱粘着位,是Unix文件系統權限的一個旗標。最常見的用法在目錄上設置粘滯位,
也只能針對⽬錄設置,對於⽂件⽆效。則設置了粘滯位后,只有目錄內文件的所有者或者root才可以刪除或移動
該文件。如果不為目錄設置粘滯位,任何具有該目錄寫和執行權限的用戶都可以刪除和移動其中的文件。實際應
用中,粘滯位一般用於/tmp目錄,以防止普通用戶刪除或移動其他用戶的文件。
在Linux系統中⽐較典型的例⼦就是“/tmp”、 “/var/tmp”⽬錄。這兩個⽬錄作為Linux系統的臨時⽂件
夾,權限為“rwxrwxrwx”,即允許任意⽤戶、任意程序在該⽬錄中進⾏創建、刪除、移動⽂件或⼦⽬錄等操作。
然⽽試想⼀下,若任意⼀個普通⽤戶都能夠刪除系統服務運⾏中使⽤的臨時⽂件,將造成什么結果?
粘滯位權限便是針對此種情況設置,當⽬錄被設置了粘滯位權限以后,即便⽤戶對該⽬錄有寫⼊權限,也不
能刪除該⽬錄中其他⽤戶的⽂件數據,⽽是只有該⽂件的所有者和root⽤戶才有權將其刪除。設置了粘滯位之后,
正好可以保持⼀種動態的平衡:允許各⽤戶在⽬錄中任意寫⼊、刪除數據,但是禁⽌隨意刪除其他⽤戶的數據。
需要注意的是, 粘滯位權限只能針對⽬錄設置,對於⽂件⽆效。
設置了粘滯位權限的⽬錄,使⽤ls命令查看其屬性時,其他⽤戶權限處的“x”將變為“t”。
例如,查看/tmp、 /var/tmp⽬錄本⾝的權限,確認存在“t”標記。
粘滯位權限都是針對其他⽤戶( other)設置,使⽤chmod命令設置⽬錄權限時,
“o+t”、 “o-t”權限模式可分別⽤於添加、移除粘滯位權限。
例如,為/test⽬錄設置粘滯位權限。
此時普通⽤戶hxy便⽆法刪除/root/test/file1⽂件了。
粘滯位權限在⽣產環境中也被⼴泛應⽤,當需要為⽤戶提供⼀個開放⽬錄⽽又不希望造成管理混亂時,通過
為⽬錄設置粘滯位權限便可以解決問題。