我正在尝试运行Python CGI脚本。我面临的问题是,我需要使用我的用户名创建一个目录并使用git克隆repo。
#!/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 <>")
但不知何故,当我从网址运行脚本:“http://ip_adr/webtest/webgui.py”时,我看到使用www-data用户创建的目录而不是我的用户名。由于git clone无法正常工作,因为sash密钥仅在Stash中添加为我的用户名。
drwxr-xr-x 2 www-data www-data 4.0K Nov 28 16:59 fresh-cloned
如何解决此问题?从Web URL运行脚本时是否可以将用户更改为我的用户名?
答案 0 :(得分:0)
如果您希望脚本作为用户从Apache HTTPD运行,则需要加载mod_suexec并相应地设置指令SuexecUserGroup,例如:
SuexecUserGroup youruser yourgroup
答案 1 :(得分:0)
我可以通过更改“/ etc / passwd”
中的以下行来解决此问题www-data:x:33:33:www-data:/var/www:/bin/bash
我创建/更新了用户,提供了所需的权限,创建了ssh密钥并在stash中添加,现在正在运行。谢谢!