Benvenuto, Visitatore. Per favore, effettua il login o registrati.
Hai perso la tua email di attivazione?
Febbraio 09, 2010, 02:13:22
Home Help Ricerca Calendario Login Registrati
News: Aggiunta la sezione tips and tricks

+  spaghettilinux
|-+  PROGETTO - NuvoLinux
| |-+  [ITA]NuvoLinux.Org/IT
| | |-+  implementazione geteuid
« precedente successivo »
Pagine: [1] Stampa
Autore Topic: implementazione geteuid  (Letto 276 volte)
sacarde
Full Member
***
Offline Offline

Posts: 156


Email
« il: Agosto 05, 2009, 16:43:14 »

ciao,
   sto' cercando nei sorgenti del kernel, l'implementazione di geteuid
senza successo......

tale funzione (syscall) dovrebbe prelevare l'effettivo uid, vorrei vedere le istruzioni


grazie

p.s.
da /proc/kallsyms
vedo:

ffffffff8025bfa0 T sys_geteuid
Loggato
sacarde
Full Member
***
Offline Offline

Posts: 156


Email
« Risposta #1 il: Agosto 06, 2009, 12:51:07 »

faccio un po di anamnesi: (segnalatemi gli errori)


tutto inizia quando scopro che "mount" ha SUID impostato,
incuriosito cerco nei sorgenti se e come lo controlla:

Codice:
...
if (getuid () != geteuid ()) {
suid = 1;
...

mi informo in chat, sembra che sia una funzione nelle glic
in effetti nel "geteuid.c" vedo:

Codice:
...
INTERNAL_SYSCALL (geteuid, err, 0);
        SYS_getuid32 e __NR_getuid32
...


allora mi ridirigo verso la syscall : sys_getuid all'interno del kernel:
sempre aiutato dalla rete:

- che richiama: high2lowuid()
Codice:
return high2lowuid(current_euid());

la quale current_euid in ./include/linux/cred.h
Codice:
#define current_euid()  (current_cred_xxx(euid))

prenderebbe il valore di un campo della struct

Codice:
#define current_cred_xxx(xxx) current->cred->xxx

per cui il preprocessore trasforma current_cred_xxx(euid) in current->cred->euid



grazie
(soprattutto della pazienza: IppatsuMan, ech0s7,...)

« Ultima modifica: Settembre 01, 2009, 16:42:15 da sacarde » Loggato
Pagine: [1] Stampa 
« precedente successivo »
Salta a:  


Login con username, password e lunghezza della sessione

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC
Traduzione Italiana a cura di SMItalia
XHTML 1.0 Valido! CSS Valido!