J'ai un fichier qui est un bash script qui nécessite SUDO pour fonctionner.
Je peux l'exécuter à partir de la ligne de commande en utilisant SUDO, mais il me sera demandé d'entrer le mot de passe SUDO.
Je veux exécuter ce script depuis php via shell_exec
mais si j'appelle SUDO, ce n'est pas comme une ligne de commande où l'on peut me demander le mot de passe. Y a-t-il un moyen de passer le mot de passe pour sudo avec l'appel de sudo ?
Comment puis-je le faire ?
0 votes
Au fait, j'exécute ce programme sur ma propre machine ubunto 10.04 avec apache2 et php5.
0 votes
Vous devriez envisager de modifier les permissions du script. Vous pourriez par exemple changer le groupe pour l'utilisateur apache (www-data), et donner au groupe les droits d'exécution :
chgrp www-data script.sh && chmod g+x script.sh
.0 votes
@danilo ce n'est pas le fichier lui-même qui nécessite le SUDO mais ce que le fichier appelle, qui est
svn commit
mais d'abord jecd /var/www
pour appeler svn commit à partir de la copie de travail. Existe-t-il un moyen d'ajouter des autorisations pour faire cela pour l'utilisateur apache www-admin ?1 votes
@John Isaacks : Ah. Jetez un coup d'oeil à la partie setuid : fr.wikipedia.org/wiki/Setuid
1 votes
Pourquoi est-ce que
svn commit
besoin de Root ?0 votes
@Stephen, je suis nouveau à tout cela donc je ne sais pas mais il me dit permission refusée à moins que je sudo il.
1 votes
@John Isaacks : C'est (presque) certainement un problème avec votre configuration svn. Vous ne voulez pas commencer à distribuer un accès Root aux scripts pour le contourner, vous vous retrouverez avec un système puissamment peu sûr. Passez un peu de temps dans la documentation svn pour vous donner, et éventuellement "www-admin", l'accès à des sections du dépôt svn. (Je vous le dirais bien moi-même, mais cela fait des années que je n'ai pas joué avec svn).
0 votes
@Stephen Merci pour l'info.