droit d'execution [C] - C - Programmation
Marsh Posté le 01-08-2007 à 17:56:39
Tente de tuer le process n°1. En cas de succès, t'es admin.
Marsh Posté le 01-08-2007 à 18:37:39
oh oui, kill -9 init \O/
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
Marsh Posté le 01-08-2007 à 18:55:21
ffomnislash a écrit : j'apporte quelques précisions: |
T'as qu'à regarder getuid() (et geteuid() sur certains systèmes). Si cette fonction renvoie 0, t'es admin.
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 ?
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 !!!
Marsh Posté le 01-08-2007 à 21:23:14
oki un grand merci, je voulait être sur et je n'ai pas sudo donc ...
Marsh Posté le 01-08-2007 à 17:53:28
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 ?