J'ai besoin qu'un programme php se fasse passer pour 'root' afin d'avoir 'tous les droits'. Je dois m'en servir dans un exec ou shell_exec ou équivalent.
Merci, Nicolas.
snwoman49
lundi 5 mai 2008 à 16:59
La commande exec s'effectue logiquement en root.
Si ce n'est pas le cas, modifie l'user et le groupe du fichier en root.
Anonymus
lundi 5 mai 2008 à 17:06
la commande exec s'execute en apache, apparemment, et quand je modifie l'user et le groupe du fichier, ce sont les autres programmes ( qui doivent y accéder) qui plantent. Et idem si je mets 'tous les droits' dessus : là, ca plante tout :/ ( c'est du décryptage pgp/gpg, on peut pas faire ce qu'on veut )
Kioob
lundi 5 mai 2008 à 22:46
Hello,
essaye de voir du coté de sudo. Mais avec un php en "module", c'est pas forcément super prudent : tu vas autoriser l'exécution à l'utilisateur "www-data" (ou "apache"), c'est à dire tous les sites et scripts de la machine (y compris phpmyadmin, phpbb, wordpress, etc quoi).
N'y a t-il pas un autre moyen de procéder ?
Dan
mardi 6 mai 2008 à 07:17
Si la commande est un exécutable et qu'elle doive toujours tourner comme 'root', tu peux lui donner le set-userid bit ! Par exemple "chmod 4755 nom_de_commande".
Attention car tous les utilisateurs qui ont accès au shell linux tourneront cette commande comme 'root'... et si elle a un "shell escape", le shell sera root lui aussi !
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.