gpt4 book ai didi

python - "Permission Denied"来自Python服务器

转载 作者:行者123 更新时间:2023-12-01 05:56:45 29 4
gpt4 key购买 nike

基本上,我对 Python 有点陌生。我创建了一个服务器,并让它正常运行,文件和所有内容都显示出来。

但问题是,每次我尝试在 Python 中打开文件进行读/写时,我的终端都会抛出“访问被拒绝”错误。

你知道,这是一个基本的服务器:

#!/usr/bin/env python
import BaseHTTPServer
import CGIHTTPServer
import cgitb

cgitb.enable();
server = BaseHTTPServer.HTTPServer;
handler = CGIHTTPServer.CGIHTTPRequestHandler;
address = ("",80);
handler.cgi_directories = ["/home"];

httpd = server(address,handler);
print("Working . . . ");
httpd.serve_forever();

没有什么太花哨的。因此,我启动服务器,然后当用户导航到包含代码的页面“/home/file.py”时:

#!/usr/bin/env python
f = open("asdf.txt","w");

什么也没发生,当我检查运行服务器的终端时,它说,

 localhost - - [27/Aug/2012 17:58:18] "GET /home/file.py HTTP/1.1" 200 -
Traceback (most recent call last):
File "/home/SERVER/home/file.py", line 4, in <module>
f = open("asdf.txt","w");
IOError: [Errno 13] Permission denied: 'asdf.txt'

我已经查了有一段时间了,但还没有找到解决方案。这可能是一个非常简单的解决方案,会让专业的 Python 用户感到震惊,但要考虑到所有自学成才的程序员都必须从某个地方开始。对我来说,我现在有点处于底部,至少在 Python 方面是这样。

我尝试了从互联网(以及“可能已经有答案的问题”)中找到的几个解决方案,例如导入“os”并使用它来指定创建文件的确切位置。我尝试在 SERVER 文件夹和包含 Python 脚本的文件夹上使用“sudo chmod g+w”。但这些互联网解决方案都没有帮助我。

我也会记得接受答案。

我试图尽可能准确地提出问题。因此,如果您还有其他需要了解的信息,我可以更新。

由于这是一个“权限被拒绝”错误,我怀疑这是Python的错误,并且可能是我没有在某处设置一些权限。但我不知道他们会在哪,在哪里。

最佳答案

如果您阅读 CGIHTTPServer 上的 python 文档:

Note that CGI scripts will be run with UID of user nobody, for security reasons. Problems with the CGI script will be translated to error 403

所以这看起来有点棘手,除非你愿意放弃所有最佳实践并让任何人都会在您的文件夹中执行操作。

关于python - "Permission Denied"来自Python服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12150285/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com