2016-11-29 2 views
0

J'essaie d'exécuter un script CGI Python. Le problème auquel je suis confronté est, j'ai besoin de créer un répertoire et cloner le repo de git avec mon nom d'utilisateur.Script CGI Python exécuté à partir de l'URL Web crée le répertoire avec l'utilisateur www-data

#!/usr/bin/python2.7 
import commands, os 
print "Content-type: text/html\n" 
print "\n\n" 
print "<html><body>" 
commands.getoutput("rm -rf fresh-cloned") 
commands.getoutput("mkdir fresh-cloned") 
os.chdir("fresh-cloned") 
print commands.getoutput("pwd") 
commands.getoutput("git clone <> -b <>") 

Mais en quelque sorte, quand je lance le script depuis l'URL Web: « http://ip_adr/webtest/webgui.py », je vois le répertoire créé avec l'utilisateur www-data plutôt que mon nom d'utilisateur. En raison de cela, le clone git ne fonctionnera pas car la clé ssh est ajoutée dans Stash pour mon nom d'utilisateur uniquement.

drwxr-xr-x 2 www-data www-data 4.0K Nov 28 16:59 fresh-cloned 

Comment puis-je résoudre ce problème? Est-il possible de changer l'utilisateur à mon nom d'utilisateur lors de l'exécution de script à partir de l'URL Web?

Répondre

0

j'ai pu résoudre le problème en changeant la ligne suivante dans "/ etc/passwd"

www-data:x:33:33:www-data:/var/www:/bin/bash 

I créé/utilisateur mise à jour, a donné les autorisations nécessaires, créé clé ssh et a ajouté en planque, il travaille maintenant. Merci!

0

Si vous voulez que votre script se comme utilisateur d'Apache vous devez charger mod_suexec et définir la directive SuexecUserGroup en conséquence, tels que:

SuexecUserGroup youruser yourgroup