Halihallo Reto
ich hab mal das mit dem setuid versucht ... und siehe da ... es läuft.
Nun ... ist das richtig, dass nun theoretisch jeder auf das Programm cinternet root-zugriff hat ???
Ja (diese Antwort zu deiner eigenen Sicherheit). Nun, jain. Falls
ein anderer User über die Shell als "normaler Benutzer" eingeloggt
ist, müsste setsid() auf root eigentlich mit einer Fehlermeldung
quittieren, denn kein normaler User darf auf normalem Weg zu
Administratorrechten kommen (es gibt Ausnahmen, wie z.B. Programme
unter su_exec [super-user exec]). Aber es ist hier extreme Vorsicht
geboten, also beantworte ich deine Frage zu deinem Schutz mit einem
ja. Teste es aus, oder noch besser: versuche einfach den Zugriff
auf das Programm möglichst einzuschränken und erlaube am besten
keinerlei externe Eingaben (z.B. Daten aus einem Formularfeld oder
Programmparameter ungeprüft (Stichwort tainted Modus) an das
cinternet Programm zu übergeben).
Viele Grüsse
Philipp
The only program that runs perfectly every time, is a virus.