Forum Clubic

Sudo, apache et pam.d sont sur un bateau

Bonjour
J’essaie de faire executer en PHP des scripts shell (ou commandes directement) necessitant les droits root (modif de fichiers systèmes principalement).
J ai donc configuré sudo pour que l’utilisateur “apache” (propriétaire des processus d’apache httpd) puisse executer des commandes sans demande de mot de passe.

Cela marche sans problème pour un autre utilisateur, directement en ligne de commande.
Seulement, en PHP, non, mon error_log contient plein de “permission denied”.

Donc, le sudo ne fonctionne pas.

Serait ce lié à pam.d et sa configuration ? ou au fait que l’utilisateur apache n’a pas de mot de passe ou qu’ il ne puisse pas se connecter ? (/bin/nologin)

Merci d’avance pour votre aide

héo au lieu de troller aidez moi :stuck_out_tongue:

Hum y a bon, une fois en place tu nous previens histoire
qu’on s’amuse avec ta machine.
:wink:

ce serait pas plutot lié au fait que laisser php executer des commandes systèmes et en root qui plus est serait une enorme faille ?

euh non en fait j avais oublié de rajouté “/usr/bin/sudo” dans mes exec()
ca marche impec maintenant.

Et je n’ai pas trouvé d’autres moyens pour modifier des fichiers de conf système en PHP.

c est mieux que lancer apache en tant que root quand meme :fou:

il n’y a pas beaucoup de différence si apache à les mêmes droits que root.

si, car sudo permet de ne donner à apache des droits root que sur des commandes précises.

Donc apache n’a les droits root que pour les commandes spécifiées dans la config de sudo.

Salut,
Je m’inscris à l’instant sur clubbic car j’essaie de faire exactement la même chose que toi, sauf que toi tu connais la commande sudo, moi je pategauge encore… et je n’arrive pas à trouver comment donner à mon utilisateur apache les droits d’accéder à httpd.conf qui est la propriété de root…

et setuid ? ça permet d’exécuter un script donné avec les droits de root. Au moins, tu as un seul script à protéger :oui:

Conclusion, çay mieux de faire tourner Apache en root.

:ane: