關於linux下貼上位 sticky位

2021-07-02 15:42:35 字數 2170 閱讀 6504

要刪除乙個檔案,你不一定要有這個檔案的寫許可權,但你一定要有這個檔案的上級目錄的寫許可權。也就是說,你即使沒有乙個檔案的寫許可權,但你有這個檔案的上級目錄的寫許可權,你也可以把這個檔案給刪除,而如果沒有乙個目錄的寫許可權,也就不能在這個目錄下建立檔案。

如何才能使乙個目錄既可以讓任何使用者寫入檔案,又不讓使用者刪除這個目錄下他人的檔案,sticky就是能起到這個作用。stciky一般只用在目錄上,用在檔案上起不到什麼作用。

在乙個目錄上設了sticky位後,(如/home,許可權為1777)所有的使用者都可以在這個目錄下建立檔案,但只能刪除自己建立的檔案(root除外),這就對所有使用者能寫的目錄下的使用者檔案啟到了保護的作用。

以上文章**:

檔案的粘滯位(sticky)位是作什麼用的? 

普通檔案的sticky位會被linux核心忽略, 

目錄的sticky位表示這個目錄裡的檔案只能被owner和root刪除 

粘著位(sticky bit) 

如果使用者對目錄有寫許可權,則可以刪除其中的檔案和子目錄,即使該使用者不是這些檔案的所有者,而且也沒有讀或寫許可。

粘著位出現執行許可的位置上,用t表示,設定了該位後,其它使用者就不可以刪除不屬於他的檔案和目錄。

但是該目錄下的目錄不繼承該許可權,要再設定才可使用。   

# chmod 1770 *** 

舉乙個linux下的常見目錄來做例子,也就是 /tmp 目錄來說一下粘連位的作用。 

#ls -dl /tmp 

drwxrwxrwt 4 root    root  ......... 

注意other位置的t,這便是粘連位。 

我們都知道,/tmp常被我們用來存放臨時檔案,是所有使用者。但是我們不希望別的使用者隨隨便便的就刪除了自己的檔案,於是便有了粘連位,

它的作用便是讓使用者只能刪除屬於自己的檔案。 

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

否則, 顯示為大寫字母 (s, s, t) 。    

3)粘著位(sticky) 

eg: 

chmod 777 abc 

chmod +t abc 

等價於 

chmod 1777 abc 

在以前舊的系統當中,如果乙個程式檔案一旦設定了粘著位, 

那麼當該程式中止的時候他的所有指令段將被儲存到系統的交換分割槽當中, 

再次執行時可以更快的調入系統. 

不過現在的作業系統已經不再使用這種功能了. 

但這並不表示這一功能已經完全被廢棄. 

當乙個目錄設定為粘著位時,它將發揮特殊的作用, 

即當乙個目錄被設定為"粘著位"(用chmod a+t),則該目錄下的檔案只能由 

1)、超級管理員刪除 

2)、該目錄的所有者刪除 

3)、該檔案的所有者刪除 

也就是說,即便該目錄是任何人都可以寫,但也只有檔案的屬主才可以刪除檔案。 

檔案的粘滯位(sticky)位是作什麼用的? 普通檔案的sticky位會被linux核心忽略, 目錄的sticky位表示這個目錄裡的檔案只能被owner和root刪除

粘著位(sticky bit) 如果使用者對目錄有寫許可權,則可以刪除其中的檔案和子目錄,即使該使用者不是這些檔案的所有者,而且也沒有讀或寫許可。

粘著位出現執行許可的位置上,用t表示,設定了該位後,其它使用者就不可以刪除不屬於他的檔案和目錄。但是該目錄下的目錄不繼承該許可權,

要再設定才可使用。 

# chmod 1770 *** 

舉乙個linux下的常見目錄來做例子,也就是 /tmp 目錄來說一下粘連位的作用。

#ls -dl /tmp drwxrwxrwt 4 root    root  .........

注意other位置的t,這便是粘連位。 我們都知道,/tmp常被我們用來存放臨時檔案,是所有使用者。

但是我們不希望別的使用者隨隨便便的就刪除了自己的檔案,於是便有了粘連位,它的作用便是讓使用者只能刪除屬於自己的檔案。

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

否則, 顯示為大寫字母 (s, s, t) 。

以上文章**:

關於在Linux64位下安裝xampp

網上關於這個主題的內容比較少,所以就寫一下按裝後的心得。之前一直在windows下用xampp,想在linux下也體驗一把,可是自己的linux裝的是64位的在xampp的官網上沒有linux下64位的版本。以下是安裝步驟 二 在64位安裝32位支援包 unbuntu命令 sudo apt get ...

取消Linux下的滑鼠中鍵貼上功能

quote section inputdevice option emulatewheel true option emulatewheelbutton 2 option emulatewheeltimeout 1 endsection 實際上也就是把timeout時間設成了1ms,如果你能在1ms...

Linux 關於64位系統

1.判斷linux系統是32位還是64位的方法 getconf long bit 2.判斷乙個檔案是32位還是64位的方法 file lib x.so libsyssp.so elf 32 bit lsb shared object,intel 80386,version 1 sysv stripp...