Linux粘滯位的設定

2021-07-30 20:08:33 字數 1631 閱讀 5260

粘滯位(stickybit),或粘著位,是unix檔案系統許可權的乙個旗標。最常見的用法在目錄上設定粘滯位,如此以來,只有目錄內檔案的所有者或者root才可以刪除或移動該檔案。如果不為目錄設定粘滯位,任何具有該目錄寫和執行許可權的使用者都可以刪除和移動其中的檔案。實際應用中,粘滯位一般用於/tmp目錄,以防止普通使用者刪除或移動其他使用者的檔案。

sticky 位是乙個訪問許可權標誌位,可以用來標示檔案和路徑。

歷史:粘滯位是在2023年unix的第5版中引入的,用來設定可執行檔案。當可執行檔案設定粘滯位之後,它能夠指示作業系統在程式退出後,保留程式的**段到swap空間。當程式再次執行時,核心只需將程式從swap搬到記憶體即可,這能夠加速程式的執行。所以,頻繁使用的程式比如編輯器能夠更快的開啟。目前,這種應用只是適用於hp-ux, netbsd和unixware,solaris在2023年放棄了這種應用,linux沒有版本支援過這種行為。

當今使用:

當今,粘滯位最常用是應用於路徑。當路徑被設定粘滯位後,路徑下的檔案只有檔案的owner,路徑的owner, 或者root 才能夠重新命名、刪除檔案。如果沒有粘滯位,任何使用者,不管是不是owner, 只要有路徑的寫/執行許可權就可以重新命名、刪除檔案。典型的應用就是/tmp路徑,粘滯位可以阻止一般使用者刪除/重新命名其他使用者的檔案。這種特性首次引入是在2023年4.3bsd, 今天在現在的unix系統中都可以找到這個特性。另外,solaris定義了獨有的行為:當粘滯位設定到非執行檔案時,當訪問這種檔案時,核心將不會快取。這常用於設定swap檔案,用來阻止訪問這些檔案時沖刷掉系統快取中更重要的資料。

linux: 當粘滯位設定到檔案時,核心將會忽略。當設定路徑時,路徑中的檔案只能夠被root或者檔案的owner重新命名或者unlinked。

在linux系統中較典型的例子就是「/tmp」、 「/var/tmp」目錄錄。這兩個目錄錄作為linux系統的臨時檔案

夾,許可權為「rwxrwxrwx」,即允許任意使用者、任意程式在該目錄中進行建立、刪除、移動檔案或者目錄等操作。

但是,若任意乙個普通使用者都能夠刪除系統服務執行中使用的臨時檔案,將造成什麼結果?

粘滯位許可權便是針對此種情況設定,目錄被設定了粘滯位許可權以後,即便使用者對該目錄有寫入許可權,也不

能刪除該目錄中其他使用者的檔案資料,只有該檔案的所有者和root使用者才有權將其刪除。設定了粘滯位之後,

正好可以保持以種動態的平衡:允許各使用者在目錄中任意寫入、刪除資料,但是禁止隨意刪除其他使用者的資料。

舉例:sticky bit 設定:

需要注意的是, 粘滯位許可權只能針對目錄設定,對於檔案無效。

設定了粘滯位許可權的目錄,使用ls命令檢視其屬性時,其他使用者許可權處的「x」將變為「t」。

例如,檢視/tmp、 /var/tmp目錄本⾝的許可權,確認存在「t」標記。

粘滯位許可權都是針對其他使用者( other)設定,使用chmod命令設定目錄許可權時,

「o+t」、 「o-t」許可權模式可分別用於新增、移除粘滯位許可權。

例如,為/test目錄設定粘滯位許可權。

此時普通使用者便無法刪除/test.c1檔案了。

粘滯位許可權在生產環境中也被廣泛應用,當需要為使用者提供乙個開放幕錄而又不希望造成管理混亂時,通過為目錄設定粘滯位許可權便可以解決問題。

Linux中設定粘滯位

關於目錄有三種許可權 r 可讀許可權,可以列出目錄下的內容 但如果要列出目錄下的內容必須要能進入這個目錄所需要的許可權為 r x w 可寫許可權,可以往目錄裡些內容 但是如果如果往目錄裡面些內容,那麼這個目錄的許可權至少是 wx,首先得進入這個目錄 x可執行的許可權,可以進入乙個目錄 但是不能讀或者...

Linux中粘滯位

粘滯位 stickybit 又稱粘著位,是unix檔案系統許可權的乙個旗標。最常見的用法在目錄上設定粘滯位,也只能針對目錄設定,對於目錄內檔案有效。則設定了粘滯位後,只有目錄內檔案的所有者或者root才可以刪除或移動該檔案。如果不為目錄設定粘滯位,任何具有該目錄寫和執行許可權的使用者都可以刪除和移動...

Linux中的粘滯位

通常情況下使用者只要對某個目錄具備w寫入許可權,便可以刪除該目錄中的任何檔案,而不論這個檔案的許可權是什麼 比如進行一下的操作 1 建立 test目錄,並賦予777許可權 2 以root使用者的身份在 test目錄中建立檔案file,並檢視其預設許可權 3 以普通使用者的身份登入系統,可以刪除fil...