linux下suid標誌位的作用

2021-09-22 02:11:38 字數 945 閱讀 7558

#include

#include

#include

#include

#include

#include

intmain

(void)if

(write

(fd,buf,18)

==-1)

system

("cat eff_real.txt");

return0;

}

這段程式用來對乙個由 root 建立、名為 eff_real.txt 的文字檔案進行寫操作。

在 root 下,執行兩次 gcc 命令,分別生成兩個不同名字的可執行檔案 eff_real 和 eff_real_2 ,如下:

在上圖可以看到使用者 linlibo 對 eff_real.txt 沒有寫許可權。

使用chmod命令對可執行檔案 eff_real 設定 suid 位,如下:

上圖可以看出:可執行檔案 eff_real 的檔案所有者的許可權由 rwx 變成了 rws 。

接下來,使用 linlibo 登陸終端,分別執行 eff_real (設定了suid位) 和 eff_real_2 (沒有設定suid位) ,結果如下:

結論:使用者 linlibo 在執行 eff_real (設定了suid位) 對 eff_real.txt 寫入時,其有效使用者暫時變成了 root ,所以 linlibo 才能對 eff_real.txt 進行寫操作。

linux下粘滯位引出的SUID和SGID

許可權字母表示 r 讀許可權 檢視檔案中的資料 檢視目錄的內容 w 寫 修改許可權 修改檔案以及刪除 在目錄內建立或刪除物件 x 執行許可權 執行程式 進入目錄 許可權數字表示 0 x 1 w 2 wx 3 r 4 r x 5 rw 6 rwx 7 故 bin bash的許可權集合的數字表示為 75...

Linux下SUID的學習

在unix環境高階程式設計中,獲取程序的使用者id有兩種方法 uid t getuid void 呼叫程序的實際使用者id uid t geteuid void 呼叫程序的有效使用者id什麼是有效使用者id跟實際使用者id,這裡可能有點迷惑,在普通情況下,實際使用者id就是有效使用者id,其實簡單來...

Linux系統的 粘滯位 sgid和suid

粘滯位 o t 針對目錄賦權,目錄中建立的檔案只有建立者才可以刪除 命令 chmod o t 目錄名 刪除許可權用減即可 sgid g s 針對目錄建立許可權,在該目錄中建立的檔案所屬組繼承父目錄的屬組 命令 chmod g s 目錄名 刪除許可權用減即可。suid u s 針對可執行檔案建立。誰執...