1、首先寫個c程式,命名為:run.c 放在目錄/var/www下 用來互動uuid **執行
#include
#include
#include
#include
int main()
uid_t uid ,euid;
//char cmd[1024]; //變數暫時未使用
uid = getuid() ;
euid = geteuid();
printf("my uid :%u/n",getuid()); //這裡顯示的是當前的uid 可以注釋掉.
printf("my euid :%u/n",geteuid()); //這裡顯示的是當前的euid
if(setreuid(euid, uid)) //交換這兩個id
perror("setreuid");
printf("after setreuid uid :%u/n",getuid());
printf("afer sertreuid euid :%u/n",geteuid());
system("systemctl restart network"); //執行指令碼 重啟網路為列,也可以用引數代替 如果用引數的話許可權太大
return 0;
2、使用gcc -o run -wall run.c 編譯run.c檔案
3、root下:chmod u+s run
4、php呼叫
system('/var/www/run', $retval);
php 非同步執行指令碼
這裡說的非同步執行是讓php指令碼在後台掛起乙個執行具體操作的指令碼,主指令碼退出後,掛起的指令碼還能繼續執行。比如執行某些耗時操作或可以並行執行的操作,可以採用php非同步執行的方式。主指令碼和子指令碼的通訊可以採用外部檔案或memcached的方式。原理就是通過exec或system來執行乙個外...
linux下切換root使用者並執行指令碼
1 安裝expect expect su實現輸入su命令之後自動填寫密碼的功能 yum install expect y centos sudo apt get install expect ubuntu 2 編寫expect指令碼 vim test1.sh usr bin expect spawn...
Pycharm以root許可權執行指令碼的方法
因為許可權不夠,導致pycharm在執行指令碼時報錯 socket.error errno 1 operation not permitted 網上有一些修改檔案使得pycha執行指令碼時可以不需要密碼的以root許可權執行。但是大多操作雷同,估計是複製貼上的,而且下方有幾條評論表示ide報錯。在跟...