03.07.2014, 14:41
03.07.2014, 15:05
Code:
#include <unistd.h>
#include <stdio.h>
#include <libgen.h>
int main(int argc, char** argv){
char *dir, cmd[100];
if(argc != 2) return 1;
dir = dirname(argv[0]);
sprintf(cmd, "%s%s%s", dir, "/script ", argv[1]);
setuid(geteuid());
system(cmd);
return 0;
}
Kompilier dir das, setz den shoutserver-user als owner und group und setz das setuid-bit:
Code:
gcc main.c -o app
chown shoutserver:shoutserver app
chmod 4755 app
Danach kannst dus über die app starten und stoppen...
03.07.2014, 15:10
Ja ich wills ja nicht als App haben sondern Als PHP Script
03.07.2014, 15:13
Du sollst per PHP dann die ./app ausführen, nicht das ./script.
03.07.2014, 15:16
Achso das hat sich so gelesen als das ich mir das Als App machen soll dann tut es mir leid.
03.07.2014, 15:19
app heißt nur die ELF-Datei, kannst sie nennen wie du willst. Das Problem ist nur, dass du auf Textdateien (Scripte) kein SetUID-Bit setzen kannst bzw. es nicht beachtet wird, also brauchst du die Binary als Zwischenschritt.
Seiten: 1 2