[問題] setuid bit疑問
我有兩個用戶tenghaooo和user1
首先用戶tenghaooo在自家目錄新創一個文字檔file
並將其權限改為640
-rw-r----- 1 tenghaooo tenghaooo 9 Feb 5 19:45 file
然後再編譯一個C檔 test.c,源碼如下
#include <stdlib.h>
int main(void) {
system("/bin/cat file");
return 0;
}
編譯後的a.out改其權限為4755
-rwsr-xr-x 1 tenghaooo tenghaooo 8304 Feb 5 20:04 a.out
最後切換用戶成user1,到tenghaooo家目錄裡執行a.out
結果無法成功看見file內容
/bin/cat: file: Permission denied
我以為由於a.out setuid bit的緣故,當user1執行a.out時,權限會變成tenghaooo
進而能夠看見file內容
但似乎不是如此
希望各位大大解說一下setuid bit的運作方式
謝謝,新年快樂
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.164.30.88
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1549370242.A.024.html
推
02/05 23:20,
6年前
, 1F
02/05 23:20, 1F
→
02/05 23:21,
6年前
, 2F
02/05 23:21, 2F
→
02/08 23:09,
6年前
, 3F
02/08 23:09, 3F
推
02/09 10:31,
6年前
, 4F
02/09 10:31, 4F
推
02/13 00:13,
6年前
, 5F
02/13 00:13, 5F
→
02/13 01:54,
6年前
, 6F
02/13 01:54, 6F
→
02/13 01:55,
6年前
, 7F
02/13 01:55, 7F
Linux 近期熱門文章
21
56
PTT數位生活區 即時熱門文章