再次學習linux檔案特殊許可權:SUID、SGID、Sticy Bit 以前對於檔案管理的認識只限於UGO的管理,對於特殊許可權的學習還是一知半解。重新學習了一遍,我自己理解的東東記錄一下。首先,列一下SUID、SGID、Sticy Bit所代表的許可權數值。就好像rwx分別對應4,2,1一樣,SUID、SGID、Sticy Bit分別對應的數值也是4、2、1。許可權對應的數值SUID 4SGID 2Sticky Bit 1r 4w 2x 1 為了下面的例子做準備,現在假設有一個檔案a,許可權為 -rw-rw-r--,對應的數值為664一、SUID全稱:Set UID對象:僅用於設定二進位檔案的特殊許可權用途:用於開放二進位檔案的執行許可權。當使用者執行檔案a的時候,執行過程中暫時獲得了檔案a所屬使用者的許可權。簡單說,假如檔案a的所有者是root,但是檔案設定了SUID,那麼其它使用者也可以執行這個檔案。例子:/usr/bin/passwd 設定方法:chmod 4664 a設定完成後檔案a許可權為:-rwSrw-r-- (現在我也知道為什麼每個使用者的umask值為四位元了,如果你不知道umask是什麼趕緊google一下吧^_^) 二、SGID全稱:Set GID對象:用於設定檔案和目錄的特殊許可權用途: 檔案:如果該檔案是二進位檔案的話,其他使用者執行該檔案的時候會以檔案所屬使用者組的神 目錄:在該目錄下建立的檔案或目錄都會自動繼承該目錄的使用者組設定方式:chmod 2664 a設定完成後檔案a許可權為:-rw-rwSr-- 三、Sticky Bit全稱:Set UID對象:只用於設定目錄的特殊許可權用途:在設定了Sticky Bit許可權的目錄下建立的檔案只有檔案的擁有者和root能刪除。設定方式:chmod 1664 a設定完成後檔案a許可權為:-rw-rw-r-t ----------------------------------------------------------------華麗的分割線------------------------------------------------------------------------------在測試上面個屬性的時候發現一個問題總結一下。同屬一個使用者組的兩個使用者A和使用者B,給予使用者A的家目錄rwx許可權以便使用者B能夠進入。使用使用者B在使用者A的家目錄下建立檔案test,並將檔案的屬性設定為----rwx---,也就是只有使用者組有所有許可權。這樣就會出現:使用者B不能修改檔案test,但是使用者A卻能夠修改。 以上實驗的出兩個結論:1.如果一個檔案屬於一個使用者組,並對使用者組開放所有許可權,那麼該使用者組下的所有使用者都可以藉助使用者組的許可權訪問該檔案。 2.如果一個檔案的所屬使用者將自身的許可權全部清楚,但是組的許可權全部開放,那麼檔案的所屬使用者仍不能訪問該檔案。因為在操作檔案是系統參考了目前使用者對目標檔案的執行權。