Chirurgia endoscopică a hipofizei
"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală. Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale. www.neurohope.ro |
[HELP] Privilegii ?
Last Updated: Jan 09 2004 09:42, Started by
capdeguma
, Jan 05 2004 23:20
·
0
#1
Posted 05 January 2004 - 23:20
salut,
am o intrebare: Cum pot sa dau ca admin(root) privilegii pt un utilizator ca sa ii mearga functia "ioperm" - deschide porturi(paralel etc..) ? Ce comanda tre sa dau ... sa ii dau voie sa scrie la un port de asta ? Astept raspunsul cat mai repede, IMI TREBE PT UN PROIECT SI SUNT CAM DISPERAT thx. PS inca o intrebare cu ce comanda aflu ce versiune de kernel ruleaza pe masina linux ? |
#2
Posted 06 January 2004 - 10:03
Quote Originally posted by capdeguma PS inca o intrebare cu ce comanda aflu ce versiune de kernel ruleaza pe masina linux ? uname -a |
#3
Posted 06 January 2004 - 10:05
uname -a
din cite cred, nu poti sa-i dai drepturi, tre sa fie root. Daca vrei sa foloseasca paralelul normal (ca fisier) e de ajuns sa-i dai drepturi la /dev/lp0. Pentru alte chestii fa-l root poti sa zici mai exact ce vrei sa faci? A, in principiu poti sa scrii un stub suid root, care sa faca ioperm, drop priv, exec programul respectiv. S-ar putea sa mearga. |
#4
Posted 06 January 2004 - 23:39
trebuie sa aprind niste leduri la portul paralel (asa de inceput )
Quote #define BASEPORT 0x378 /* lp1 */ /* Get access to the ports */ if (ioperm(BASEPORT, 3, 1)) {perror("ioperm"); exit(1);} outb(255,BASEPORT); Quote int handle=open("/dev/lp0",O_RDWR); if (handle<0) // nu poate deschide device-ul { printf("lp0 nu este suportat de kerneln"); return 1; } printf("%dn", res=write(handle,(char*)"1",1)); if (res != 1) // nu a scris toate datele { printf("Eroaren"); return 1; } close(handle); thx. |
#5
Posted 06 January 2004 - 23:55
cel mai bun sfat pe care pot sa ti-l dau e:
man sudo de acolo de lamuresti tu ce si cum tre sa faci. |
#6
Posted 09 January 2004 - 09:42
Deci ce incercam sa zic suna cam asa:
#define BASEPORT 0x378 /* lp1 */ /* Get access to the ports */ if (ioperm(BASEPORT, 3, 1)) {perror("ioperm"); exit(1);} /* asta a fost copy paste de la tine */ setuid(1000); /* treci aici UID-ul numeric al userului */ execl("/home/user/src/program", "/home/user/src/program", NULL); ideea e ca ai UID si calea catre program hard-coded. Eventual te mai joci cu environmentul, dar ai grija ce faci. Programul asta il faci suid root (chown root, chmod u+s), si userul il executa in loc de programul lui. Ce face: ii da ioperm, renunta la privilegiile de root, executa programul lui (ca user normal, dar cu iopermul dat de tine). N-ar strica si un setgid() In principiu tre sa ai mare grija sa nu executi nimic in plus din stubul asta, sa ignori linia de comanda, etc. man setuid, setgid, execl pentru detalii, si succes. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users