Cmd AWK dans du CGI

Bonjour,

Je me suis tourner le cerveau dans tous les sens possibles… :017 à bout de souffle je vous demande de me venir en aide :slightly_smiling:

J’ai une commande awk dans un script cgi :

VISIO=$(param visio) awk -F ";" -v VISIO=$VISIO ' $14 ~ VISIO {print $14";"$26";"$35} ' baseVisioV2.csv > liste.txt
Le problème est que cette commande me sort aucun résultat (liste.txt est donc vide) :think:
J’ai donc vérifié si je récupéré bien le paramètre à enregistré dans la variable

VISIO=$(param visio)

avec un

echo $VISIO

Et ce echo me sort bien le bon contenue…
mais le plus fort c’est que, quand je tape la même cmd dans un terminal :

VISIO="TOTO" awk -F ";" -v VISIO=$VISIO ' $14 ~ VISIO {print $14";"$26";"$35} ' baseVisioV2.csv > liste.txt

Et bien ça marche… la commande me sort le résultat souhaité…
Alors pourquoi cette commande ne marche pas dans fichier .cgi ?

HELP ME PLEASE :pray:

Ton fichier liste.txt est-il bien accessible en écriture par le cgi? (cgi lancé par le serveur http, donc avec l’utilisateur [mono]www-data[/mono] en principe)

Aussi, as-tu bien le bon “bang” en première ligne dans ton cgi (un script shell donc)?
[mono]#/bin/bash[/mono]

Aussi, regarde les logs d’erreur de ton serveur web (Apache je présume?) pour un indice éventuel.

Merci pour ta réponse agentsteel

Et bien vue :023

Car grâce à la consultation des logs du apache je me suis rendu compte que le problème vient effectivement d’un soucis de droit quant à l’utilisation des fichiers que mon script génère.

Visite des logs est l’une des premières analyse à faire en cas de blocage et pourtant je n’y ai pas penser.

Donc solution apporté :

Mettre l’utilisateur d’apache www-data propriétaire du dossier où ce trouve les scripts cgi

chown -R www-data cgi-bin/ 

Et hop tout roule !

Merci pour ta lumière ! :smiley:

Coche verte ?

attention ce n’est pas forcément la bonne solution :stuck_out_tongue:

Potentiellement un problème de sécurité si l’utilisateur www-data modifie tes scripts cgi dans le dossier cgi-bin.

Il vaudrait peut-être mieux créer un dossier spécifique dans lequel tu stockera ton fichier résultat, et lui accorder les droit en écriture pour www-data.

Tout à fait d’accord et je vais me rabattre sur cette solution !

Merci bcp pour ton aide !