[C] droit d'execution

droit d'execution [C] - C - Programmation

Marsh Posté le 01-08-2007 à 17:53:28    

:hello:  
 
Il y a un moment maintenant j'avais trouvé comment détecté si un programme en C était executé avec les droit d'administrateur ou pas. Bien entendu maintenant que j'en ai besoin je ne trouve plus :(
 
Quelqu'un aurait une piste ?

Reply

Marsh Posté le 01-08-2007 à 17:53:28   

Reply

Marsh Posté le 01-08-2007 à 17:56:39    

Tente de tuer le process n°1. En cas de succès, t'es admin. [:dawa]

Reply

Marsh Posté le 01-08-2007 à 18:01:58    

hum, où est le piège  :??:

Reply

Marsh Posté le 01-08-2007 à 18:37:39    

oh oui, kill -9 init \O/


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 01-08-2007 à 18:41:27    

j'apporte quelques précisions:
 
J'ai un programme qui permet de configurer le réseau, pour cela j'utilise la fonction ioctl() avec des paramètres qui vont bien comme par exemple SIOCGIFFLAGS.
 
J'aimerais savoir si je peut modifier la configuration (l'ip par exemple) avant d'essayer. En faite je voudrait adapter l'interface graphique par rapport aux opérations que l"utilisateurs peut effectuer. Dans un cas il peut simplement lire la configuration et dans l'autre cas il peut également la modifier.
 
Une possibilité serait d'essayer de modifier l'ip d'une carte avec l'ip actuel. (  de manière à ce que si ca marche l'ip soit tjrs la même) mais je ne trouve pas ca très porpre :/

Reply

Marsh Posté le 01-08-2007 à 18:55:21    

ffomnislash a écrit :

j'apporte quelques précisions:
 
J'ai un programme qui permet de configurer le réseau, pour cela j'utilise la fonction ioctl() avec des paramètres qui vont bien comme par exemple SIOCGIFFLAGS.
 
J'aimerais savoir si je peut modifier la configuration (l'ip par exemple) avant d'essayer. En faite je voudrait adapter l'interface graphique par rapport aux opérations que l"utilisateurs peut effectuer. Dans un cas il peut simplement lire la configuration et dans l'autre cas il peut également la modifier.
 
Une possibilité serait d'essayer de modifier l'ip d'une carte avec l'ip actuel. (  de manière à ce que si ca marche l'ip soit tjrs la même) mais je ne trouve pas ca très porpre :/


 
T'as qu'à regarder getuid() (et geteuid() sur certains systèmes). Si cette fonction renvoie 0, t'es admin.


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 01-08-2007 à 20:00:44    

ah tiens je vient d'apprendre que le root a toujours 0 comme id. Ceci dit cela fonctionne avec des méthodes alternative comme sudo ?

Reply

Marsh Posté le 01-08-2007 à 20:28:47    

ffomnislash a écrit :

ah tiens je vient d'apprendre que le root a toujours 0 comme id


Tu inverses la cause et la conséquence => tout uid à 0 a tous les droits. root a un uid à 0 (mais ça peut très bien ne pas être le seul)
Inversement, changes l'ID de root et il n'aura plus aucun droit
 

ffomnislash a écrit :

Ceci dit cela fonctionne avec des méthodes alternative comme sudo ?


sudo est un outil qui lance un programme avec les droits de root. Si ton programme est lancé via sudo, la fonction getuid() renverra 0 !!!
 


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 01-08-2007 à 21:23:14    

oki un grand merci, je voulait être sur et je n'ai pas sudo donc ...
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed