linux下如何自動提升權限

發表于:2013-11-19來源:IT博客大學習作者:phpor 點擊數: 標簽:linux
問題: httpd server是用web用戶執行的,如何才能通過httpd server來做root才能做到事情呢? 我想大概這樣可以: 我們知道linux上到可執行文件到屬主有一個s位,則該文件就可以seteuid到該用戶到權限來做事情,于是寫如下測試腳本:

  問題: httpd server是用web用戶執行的,如何才能通過httpd server來做root才能做到事情呢?

  我想大概這樣可以:

  我們知道linux上到可執行文件到屬主有一個s位,則該文件就可以seteuid到該用戶到權限來做事情,于是寫如下測試腳本:

  ====== agent.c=========

  #include

  #include

  #include

  #include

  int main(int ac, char ** av) {

  seteuid(0);

  printf("%d", geteuid()); // 返回0

  // 這里干活就是root的身份了

  return 0;

  }

  ========================

  編譯文件:

  gcc -o agent agent.c

  生成文件:

  -rwxr-xr-x 1 root root 7213 2011-06-13 00:02 agent

  修改文件屬性:

  chmod +s agent

  -rwsr-sr-x 1 root root 7213 2011-06-13 00:02 agent

  執行agent:

  ./agent

  0

  返回結果為0,說明提升權限成功了

  ------------------------------

  問題: 按說如果添加來s位,則非屬主用戶不應該有寫權限,換言之,如果非屬主用戶有來寫權限,則s位應該無效;但事實上, chmod a+w agent 后,提升權限還是成功來,為什么?

原文轉自:http://blogread.cn/it/article/3784

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97