He super,
danke für die Info!
Wieder mal was dazu gelernt.
Aber dazu später ..
sonst kommen wir vom 100 fachen
ins 1000 fache
Zurück zu setuid()
Aber im Prenzip wenn wir das mit dem Desktop weg lassen
habe ich doch rechnt, oder?
Linux ist ja ein Multi-User system.
nur das hat dann für mich eh keine relevaz!
Ich bin jetzt beim Testen auf folgendes Problem gestossen:
wenn ich setuid() oder seteuid() auf eimem Thread ausführe
haben auch alle anderen Threads die gleiche UID.
Kann man die nicht einzeln vergeben?
Ich hab mir da ja einen Server zusammengestrickt der auf
ein paar Threads läuft.
Jetzt habe ich natürlich auch andere Threads
die über die Serielle messungen durchführt
oder auch daten einliest.
bei den messungen ist es ja kein Problem,
da ich nach dem ioperm ruhig auf zb. Nobody umschalten kann.
Aber was ist wenn ich daten einlese od. schreibe
Da bleibt mir zwar die Möglichkeit
zb. eine Gruppe auf /dev/tty zu setzen.
Aber wenn jetzt ein Road Kiddy irgend einen Buffer-Overflow
auf meinem server entdeckt und eine Shell öffnen kann
hat er dann ja auch zugriff auf die Serielle.
Ok, wenn ein Profi diese Lücke entdeckt
kann er natürlich, hab ich mir sagen lassen,
ohne weiters root rechte erlangen,
auch bei Nobody.
Trotzdem würde ich mir bei verschiedenen UID's
doch etwas sicherer vorkommen.
Ich muss dazu sagen
dass ich mit den pthreads arbeite.
da ich nicht weiß wie ich mit fork()
die einzelnen threads beim zugriff auf Variablen sperren kann.
Was verwendest Du?
und wäre es mit fork() möglich den Threads
verschiedene UID's zu geben?

pcAlko