コードは次のとおりです。
コードをコピーします コードは次のとおりです。
#include
#include
>int main(int argc ,char * argv[])
{
uid_t uid,euid;
char cmd[1024]="chmod -R 777 ";
euid = geteuid ();
//printf("param %sn",strcat(cmd,argv[1])); //exit(0); 🎜> //printf( "uid:%un.eudi=%unn",getuid(),geteuid());
if(setreuid(euid,uid))
perror("setreuid" );
//printf("uid:%un.eudi=%unn",getuid(),geteuid());
system(strcat(cmd,argv[1]) );
return 0;
}
次に、Linux での gcc のコンパイルと権限の復元について説明します。
Execute
gcc -Wall -o phpchmod phpchmod.c
chmod u s ./phpchmod
$chmod_line = dirname(__FILE__)."/phpchmod ./dest_dir/"; system($chmod_line);