Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
BlackView Oscal Pad 13, probleme ...

Baterie auto AGM 70AH vs normala ...

Depanero nu vrea sa imi dea Negat...

Extras carte funciara
 Carucior pliabil pentru cumparatu...

In ce supermarket gasesc carne de...

Cat de riscant e sa rezerv un hot...

Audi Q3 F3 PHEV - impresii si con...
 AC Vortex nu mai incalzește

Scule electrice și impactul ...

Huawei Pura 70/Pro/Ultra

Chiar se platesc pensiile la term...
 Cu autorulota prin jud. Buzau

Cuptor Electrolux EOE7C31Z, cum i...

Cablu Corsair 600W GPU

Solicitare documente emag
 

[HELP] Privilegii ?

- - - - -
  • Please log in to reply
5 replies to this topic

#1
capdeguma

capdeguma

    Member

  • Grup: Members
  • Posts: 283
  • Înscris: 17.06.2003
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 :confused:
thx.

PS inca o intrebare cu ce comanda aflu ce versiune de kernel ruleaza pe masina linux ? :OK:

#2
onyx

onyx

    Member

  • Grup: Members
  • Posts: 929
  • Înscris: 12.10.2002

Quote

Originally posted by capdeguma

PS inca o intrebare cu ce comanda aflu ce versiune de kernel ruleaza pe masina linux ? :OK:



uname -a

#3
WhoAmI

WhoAmI

    Member

  • Grup: Members
  • Posts: 332
  • Înscris: 15.01.2003
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 :D

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
capdeguma

capdeguma

    Member

  • Grup: Members
  • Posts: 283
  • Înscris: 17.06.2003
trebuie sa aprind niste leduri la portul paralel (asa de inceput :P)

Quote

#define BASEPORT 0x378 /* lp1 */  
/* Get access to the ports */
if (ioperm(BASEPORT, 3, 1)) {perror("ioperm"); exit(1);}
outb(255,BASEPORT);
Am incercat cu /dev/lp0 ca root dar nu merge pur si simplu nu se aprinde nimic si ramane asa agatat, doar cu Ctrl+C  il mai scot...

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);  
Cu ioperm merge doar ca root si as vrea sa pot totusi si ca user. Daca poti sa=mi spui cam cum se face ar fi ok. :)
thx.

#5
MagicB

MagicB

    Junior Member

  • Grup: Members
  • Posts: 35
  • Înscris: 27.07.2002
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
WhoAmI

WhoAmI

    Member

  • Grup: Members
  • Posts: 332
  • Înscris: 15.01.2003
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

Chirurgia endoscopică a hipofizei 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

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate