Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从外部运行由特定用户拥有的脚本_Python_Browser_Permissions_Pexpect - Fatal编程技术网

Python 从外部运行由特定用户拥有的脚本

Python 从外部运行由特定用户拥有的脚本,python,browser,permissions,pexpect,Python,Browser,Permissions,Pexpect,我有一个特定用户拥有的python脚本,我想从浏览器中运行它。当我从浏览器中访问它时,它以www数据用户的身份进入,显然它没有什么权限。我可以在不更改任何权限或组的情况下执行此操作吗? 我尝试了一些方法,比如使用python的pexpect模块,但由于www数据没有权限,我无法以其他用户的身份启动脚本。我的脚本不会返回任何内容,它会生成新数据,因此需要写入权限 如果 该脚本对所有对象都具有读取权限 它只写入当前目录(或者您可以配置它写入的位置) 您在本地计算机上有一个web服务器 您可以将脚本

我有一个特定用户拥有的python脚本,我想从浏览器中运行它。当我从浏览器中访问它时,它以www数据用户的身份进入,显然它没有什么权限。我可以在不更改任何权限或组的情况下执行此操作吗? 我尝试了一些方法,比如使用python的pexpect模块,但由于www数据没有权限,我无法以其他用户的身份启动脚本。我的脚本不会返回任何内容,它会生成新数据,因此需要写入权限

如果

  • 该脚本对所有对象都具有读取权限
  • 它只写入当前目录(或者您可以配置它写入的位置)
  • 您在本地计算机上有一个web服务器
  • 您可以将脚本放在该web服务器上
…那么,与此等效的东西将起作用:

subprocess.call(['python', '/path/to/script.py'], cwd='/tmp')

如何“从浏览器访问”?您正在通过web服务器吗?可以在web服务器上安装脚本吗?只要脚本对www数据具有+r权限(以及python解释器+x权限),谁拥有它就不重要了。所以只需
chmod
it。我以前的问题是作为答案的,对不起。您希望如何访问它?是否希望返回数据显示在webbrowser中?如果你想知道最后一件事,我可以帮你。我有一个简单的python Web服务器,可以在网页上显示内容,您可以创建一个简单的
do_GET
函数,将返回数据写入网页并发送到webbrowser。但是,您在操作中太不清楚了。我唯一的目标是运行python脚本。所以我有一个php脚本,我试图从中直接访问python脚本,但没有成功。然后我制作了另一个代理脚本,并将其保存在Web服务器中,该服务器进一步调用MyPython脚本。还有创建的数据,我不想返回它。abarnert,我之前尝试过你的方法,但是我被拒绝了脚本正在编写哪些新文件的权限。我无法将脚本从当前位置移动。我知道这个叫做ApacheThrift的框架,它用于跨语言服务开发。我想象它像根用户一样工作,可以在平台之间进行交互。我开始怀疑我的问题是否可以解决。不让客户机在服务器上进行更改不是客户机-服务器体系结构的基本安全功能吗?apache thrift是众多客户机-服务器交互框架之一,但它需要在服务器上进行更改(您需要在服务器上运行thrift服务),因此您也会遇到同样的问题。通常,客户端可以在服务器上进行更改,但只能在服务器程序的控制下进行。例如,stackoverflow允许我编写存储在服务器上的注释。它不允许我接管它的服务器场来破解密码。在您的情况下,服务器上有一个脚本,服务器不想让您运行。如果你能做到这一点,那就是违反了安全规定。