php 執(zhí)行系統(tǒng)命令的方法
更新時(shí)間:2009年07月07日 16:56:44 作者:
在一個(gè)項(xiàng)目里用到這樣的東西,用另外一個(gè)服務(wù)做了一些事情,生成的文件權(quán)限,通過php 無法讀取,測試了很多種方式都沒能實(shí)現(xiàn),在網(wǎng)上找了下,可以用c寫一個(gè)代理來實(shí)現(xiàn),本人就實(shí)現(xiàn)了一下,果真可以。
代碼如下:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
int main(int argc,char * argv[])
{
uid_t uid,euid;
char cmd[1024]="chmod -R 777 ";
uid =getuid();
euid = geteuid();
//printf("param %s\n",strcat(cmd,argv[1]));
//exit(0);
//printf("uid:%un. eudi=%un\n",getuid(),geteuid());
if(setreuid(euid,uid))
perror("setreuid");
//printf("uid:%un. eudi=%un\n",getuid(),geteuid());
system(strcat(cmd,argv[1]));
return 0;
}
現(xiàn)在說下,在linux下面,gcc編譯,以及復(fù)權(quán)的問題:
執(zhí)行
gcc -Wall -o phpchmod phpchmod.c
執(zhí)行
chmod u+s ./phpchmod
php代碼的使用:
$chmod_line = dirname(__FILE__)."/phpchmod ./dest_dir/";
system($chmod_line);
復(fù)制代碼 代碼如下:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
int main(int argc,char * argv[])
{
uid_t uid,euid;
char cmd[1024]="chmod -R 777 ";
uid =getuid();
euid = geteuid();
//printf("param %s\n",strcat(cmd,argv[1]));
//exit(0);
//printf("uid:%un. eudi=%un\n",getuid(),geteuid());
if(setreuid(euid,uid))
perror("setreuid");
//printf("uid:%un. eudi=%un\n",getuid(),geteuid());
system(strcat(cmd,argv[1]));
return 0;
}
現(xiàn)在說下,在linux下面,gcc編譯,以及復(fù)權(quán)的問題:
執(zhí)行
gcc -Wall -o phpchmod phpchmod.c
執(zhí)行
chmod u+s ./phpchmod
php代碼的使用:
復(fù)制代碼 代碼如下:
$chmod_line = dirname(__FILE__)."/phpchmod ./dest_dir/";
system($chmod_line);
您可能感興趣的文章:
- PHP打開和關(guān)閉文件操作函數(shù)總結(jié)
- linux下php-fpm開啟關(guān)閉使用方法
- PHP 處理TXT文件(打開/關(guān)閉/檢查/讀取)
- PHP計(jì)劃任務(wù)之關(guān)閉瀏覽器后仍然繼續(xù)執(zhí)行的函數(shù)
- php中執(zhí)行系統(tǒng)命令的方法
- PHP系統(tǒng)命令函數(shù)使用分析
- php中使用exec,system等函數(shù)調(diào)用系統(tǒng)命令的方法(不建議使用,可導(dǎo)致安全問題)
- 讓PHP以ROOT權(quán)限執(zhí)行系統(tǒng)命令的方法
- php實(shí)現(xiàn)用手機(jī)關(guān)閉計(jì)算機(jī)(電腦)的方法
相關(guān)文章
windows下配置php5.5開發(fā)環(huán)境及開發(fā)擴(kuò)展
這篇文章主要介紹了windows下配置php5.5開發(fā)環(huán)境及開發(fā)擴(kuò)展,非常的詳細(xì),非常全面,是篇非常不錯(cuò)的php基礎(chǔ)文章,這里推薦給大家。2014-12-12PHP中通過ADO調(diào)用Access數(shù)據(jù)庫的方法測試不通過
PHP中通過ADO調(diào)用Access數(shù)據(jù)庫的方法測試不通過...2006-12-12PHP為表單獲取的URL 地址預(yù)設(shè) http 字符串函數(shù)代碼
有時(shí)需要接受一些表單中的網(wǎng)址輸入,但用戶很少添加 http:// 字段,此代碼將為網(wǎng)址添加該字段。2010-05-05PHP 強(qiáng)制性文件下載功能的函數(shù)代碼(任意文件格式)
PHP強(qiáng)制性文件下載函數(shù)代碼,使用此函數(shù)為用戶提供強(qiáng)制性的文件下載功能。2010-05-05