ich baste gerade ein kleines Programm, welches vom Benutzer ausgeführt werden kann, das WLAN an/ausschaltet.
Zuerst habe ich einfach ein script geschrieben, suid root gesetzt, aber es ging nicht. Dann habe gelesen, das es mit scripten suid nicht geht. Also hab ich es in C geschrieben:
Code: Alles auswählen
#include <stdlib.h>
#include <stdio.h>
#define WLANDEV "eth2"
#define ETHDEV "eth0"
int main(int argc, char* argv[])
{
if(argc!=2) exit(EXIT_FAILURE);
char *commands[4];
asprintf(&commands[0], "ifdown %s",ETHDEV);
asprintf(&commands[1], "ifup %s",ETHDEV);
asprintf(&commands[2], "ifdown %s",WLANDEV);
asprintf(&commands[3], "ifup %s",WLANDEV);
if(strcmp(argv[1],"wlan")==0)
{
system(commands[0]);
system(commands[3]);
exit(EXIT_SUCCESS);
}
if(strcmp(argv[1],"eth")==0)
{
system(commands[2]);
system(commands[1]);
exit(EXIT_SUCCESS);
}
exit(EXIT_FAILURE);
}
Code: Alles auswählen
execlp("/sbin/ifdown","ifdown",ETHDEV,0);
execlp("/sbin/ifup","ifup",WLANDEV,0);
Viele Grüße,
S_O