Python CGI 权限错误

标签 python permissions cgi file-permissions

我似乎无法从我的 CGI 脚本打开和写入文本文件。我不断收到权限错误(我从 CGITb 看到)

每当我尝试这样做时:

f = open("/Users/varatis/Documents/data.txt","a+")

我明白了:

<type 'exceptions.IOError'>: [Errno 13] Permission denied: '/Users/varatis/Documents/data.txt' 
  args = (13, 'Permission denied') 
  errno = 13 
  filename = '/Users/varatis/Documents/data.txt' 
  message = '' 
  strerror = 'Permission denied'

理想情况下,我想创建文本文件。但是为了让服务器更容易,我尝试通过制作预制的 data.txt 并运行通常的方式来使事情变得更容易:

chmod a+x data.txt
chmod a+w data.txt
chown 70 data.txt     (70 is the uid the server runs on, obtained by os.getuid from the os module)

然而,这些似乎都不起作用。有没有人有这方面的经验并且可以帮助我?同样,理想情况下,我从 CGI 脚本附加到文本文件,如果它不存在则创建它。

此外,对于 data.txt,可能会使用 ls -la:

-rwxrwxrwx@ 1 _www  staff  0 Mar 12 16:18 data.txt

最佳答案

很可能您的网络服务器没有写入该特定目录的权限。 如果它是一个 apache,那么你可能想要摆弄“Directory”指令。

更新: Documents 目录的权限是什么?

关于Python CGI 权限错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9674320/

相关文章:

python - 区分以 .dot 开头的文件扩展名和隐藏文件

python - 如何将 Ubuntu 启动器图标添加到我的 PySide 应用程序?

python - Nginx 不为我的 Flask 网站提供服务

android - 如何授予从 Play 商店下载的应用程序的权限?

c - 如何将 STDIN 流更改为二进制

linux - 在服务器端使用 bash 代替 PHP/Perl 或 Java

python - UnicodeEncodeError 仅在作为 cron 作业运行时

Android蓝牙权限未显示,仍描述为打开

permissions - 拒绝访问文件夹但不访问其中的文件

python-3.x - Python CGI的Elasticsearch circuit_breaking_exception问题