我有一个Apache Web服务器。我有一个html
文件和一个位于Python
的{{1}}脚本。我通过var/www/myfolder
文件提交表单,该文件由我的html
脚本处理(单击提交按钮时)。但是一旦处理完表单,我的Python
脚本就会执行一个外部命令。 (见以下代码)
webpage.html
Python
myscript.py
<!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>
在我的服务器上我是#!/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
用户执行。问题是我不知道这个用户的密码(不能我们sudo)。这两个想法是否可能:
1)尝试从 myscript.py 执行apache2
时,从apache2
更改为user007
2)我知道您可以使用other_script.py
更改用户,但我不知道如何使用它。
有什么建议吗?
我应该让你知道,本地python脚本都正常运行。
修改1:
我在错误发生之前收到此消息:suEXEC