un souci pour configurer / mettre en oeuvre correctement sudo
pour commencer description succinte de ma machine:
Debian GNU/Linux 6.0
Linux 2.6.32-5-amd64
et
PHP Version 5.3.3-7+squeeze15
je souhaite utiliser sudo pour pouvoir executer une requête (avec paramètres) contenant un spool pour creation de fichier vers ma machine,
selon le code php suivant:
paramètrage de sudo dans ma machine:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php ORACLE_HOME='/usr/lib/oracle/11.2/client/bin'; shell_exec('export $ORACLE_HOME'); SQLPATH=$ORACLE_HOME/'sqlplus'; shell_exec('export $SQLPATH'); PATH=$ORACLE_HOME:$PATH; shell_exec('export $PATH'); $strcmd='sudo sqlplus login/pw//x.x.x.x:1524/InstanceDeBase @/rep/requeteSql.sql param1 param2'; shell_exec($strcmd); ?>
Ceci fait, je suis désorienté car en mode console, la requete "passe"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 # /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # #Defaults env_reset Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL) ALL www-data ALL=(ALL) NOPASSWD:/usr/bin/sqlplus # Allow members of group sudo to execute any command # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=(ALL) ALL # #includedir /etc/sudoers.d
lorsque je transmets au port console loggé user www-data la commande
sqlplus login/pw//x.x.x.x:1524/InstanceDeBase @/rep/requeteSql.sql param1 param2'
tout se passe bien.
Lorsque j'execute la page php en port console avec la même commande que ci-dessus (sans le préfixe sudo)
comme suit
> php /monchemin/maPage.php
cela fonctionne
Par contre lorsque je demande au serveur, (à apache donc) de faire le boulot il ne se passe rien. Pour faciliter les choses le serveur lors de l'execution de la page php ne m'affiche pas de retour d'erreur
questions:
configuration du sudo ?
pb de droits ?
pb de PATH ?
Etant autodidacte je ne pourrai cacher quelques lacunes....
merci d'avance pour ceux qui voudront bien me donner un début de commencement de petit bout de piste.
Partager