Ошибка разрешений Python CGI - PullRequest
2 голосов
/ 13 марта 2012

Я не могу открыть и записать текстовый файл из моего 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 и создаю его, если он не существует.

Также, возможно, пригодится ls -la для data.txt:

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

1 Ответ

0 голосов
/ 13 марта 2012

Весьма вероятно, что у вашего веб-сервера нет прав на запись в этот конкретный каталог. Если это Apache, то вы можете возиться с директивой 'Directory'.

обновление: Каковы разрешения на каталог документов?

...