par
Sékiltoyai » 28 juin 2009, 12:59
Si tu as des docs ou HowTo je suis prenneur.
Euh, non… J'utilise le man personnellement.
Juste c'est ce que j'ai fait il y a quelques années pour faire le même genre de choses.
En fait il faut coder le programme dans un langage compilé déjà puisque par défaut sous linux, sinon il refuse de lui donner les droits.
Dans le programme tu fais un appel à setreuid pour obtenir les droits (confère le man), et enfin tu règles les droits du programme une fois compilé :
- L'owner doit être l'utilisateur possédant des droits de modification de la configuration.
- L'utilisateur de apache doit avoir les droits d'execution sur le programme.
- Tu fixes le bit setuid à 1 (confère man aussi).
En fait ce mécanisme permet au programme de revendiquer les privilèges du owner du binaire. Donc en fixant le owner à une valeur bien choisie, tu peux modifier la configuration même si celui qui exécute le programme n'en a pas le droit.
Tu peux chercher setuid sur google, je pense que cela t'en dira plus.