我有一个 Apache 网络服务器。我有一个html
文件和一个Python
脚本位于var/www/myfolder
. 我正在html
通过我的脚本处理的文件提交表单Python
(单击提交按钮时)。但是一旦处理了表单,我的Python
脚本就会执行一个外部命令。(见以下代码)
网页.html
<!DOCTYPE html>
<html>
<head>
<title>Webform</title>
</head>
<body>
<h3>Webform</h3>
<form action="myscript.py" method="POST">
<p>Name: <input type="text" name="name"></p>
<input type="submit" value="Submit">
</form>
</body>
</html>
我的脚本.py
#!/usr/bin/python -W
import cgi, cgitb
import sys
import os
# Get data from fields
form = cgi.FieldStorage()
name = form.getvalue('name')
print "Content-type:text/html\r\n\r\n"
print '<html>'
print '<head>'
print '<title>Hello Word - First CGI Program</title>'
print '</head>'
print '<body>'
print '<h2>Hello Word! This is my first CGI program</h2></br></br>'
print '<p>Name: %s</p>' % (name)
print '</body>'
print '</html>'
os.system("./other_script.py") # gives me an error with permission
在我的服务器上,user007
但我知道当我单击html
文件上的提交时,Python
脚本以apache2
用户身份执行。问题是我不知道这个用户的密码(我们不能 sudo)。这两种想法是否可行:
1)尝试从myscript.pyapache2
执行时更改为user007
other_script.py
2)我知道你可以更改用户使用suEXEC
,但我不知道如何使用它。
有什么建议么?
我应该让你知道,这两个 python 脚本在本地都执行得很好。
编辑1:
我在错误发生之前收到此消息:WARNING: HOME is not set, using root: /