[c/linux] suid dla odpalania innych programów(system)

0

Witam.
Potrzebuje napisać program aby konfigurował połączenie sieciowe i nie tylko.
NIE MA problemu gdy wszystkie polecenia upchnę w skrypcie i odpale, lecz z poziomu usera to już nie ruszy. Dla skryptów nie można ustawić suid, więc postanowiłem napisać przykładowy program:

#include <stdlib.h>

int main(){
  system("/sbin/ifconfig eth0 up");
  return 0;
}
gcc -o ic ic.c
chmod +s ic
su user_jakis
./ic
#wywala error:
SIOCSIFFLAGS: Brak dostępu

Trzeba coś jeszcze w kodzie dopisać? Co jest nie tak?

0

setuid

0

argh
nie ustawiaj suida, bo to niebezpieczne, jeżeli nie jesteś pr0 unix zealot. napisz skrypt i dodaj go do sudo bez hasła.
man sudo
man sudoers

1 użytkowników online, w tym zalogowanych: 0, gości: 1