Мой скрипт cgi не может писать в папку cgi-bin Apache

Я работаю над сценарием cgi версии python, который должен создавать файлы img (которые будут отображаться на веб-странице) в папке cgi-bin.

Но это не удается с: [Среда, 28 октября, 16:13:51 2009] [ошибка] [клиент :: 1] OSError: [Errno 13] Отказано в доступе: 'среднее/'

[Примечание] 'average/' - это папка, которую скрипт cgi собирается создать первой для сохранения этих файлов img.

Я попытался дать разрешение a+x сценарию cgi, но это все равно не удалось. Это происходит как на Win, так и на Mac.

Кстати, я работаю с конфигурациями Apache по умолчанию. Я ничего не менял после установки Apache.


person Yinan    schedule 28.10.2009    source источник


Ответы (2)


Вам нужно будет дать пользователю веб-сервера разрешение на запись в папку cgi-bin. Обычно пользователь веб-сервера имеет что-то вроде nobody и не входит в ту же группу, что и владелец папки, поэтому это означает, что cgi-bin доступен для записи всем: Примечание: Это действительно плохая идея.

chmod a+rwx cgi-bin

(или, в Windows, устанавливая разрешения для cgi-bin, чтобы предоставить Всем «Полный доступ».)

Теперь любой пользователь на вашем сервере или любой сценарий, который не проверяет должным образом свои имена файлов, может создать файл в cgi-bin, где он будет интерпретирован Apache как сценарий CGI и выполнен. Это хороший способ получить свой сервер в собственность.

Файлы, записанные во время выполнения, должны находиться в отдельной папке «data», за пределами cgi-bin (и, желательно, за пределами веб-корня, связанного с Alias), с настроенным Apache, запрещающим любой вид скрипта или htaccess из этой папки. Затем вы можете установить «данные» 777 или, возможно, лучше, чтобы они принадлежали пользователю веб-сервера.

person bobince    schedule 28.10.2009
comment
Большое спасибо. - person Halil İbrahim Oymacı; 02.02.2018

Сообщение об ошибке жалуется на разрешения для папки average/, а не для файла cgi.

РЕДАКТИРОВАТЬ: Итак, ваш скрипт Python (который работает как на Win, так и на Mac) отвечает за создание папки и файлов img?

Вы обязательно должны проверить свой скрипт и права доступа к parent папке, в которой будет создан файл medium/.

Если это не просто проблема с правами доступа, как следует из сообщения об ошибке, вам понадобится эксперт по Python.

person pavium    schedule 28.10.2009
comment
Да, сначала нужно создать среднюю папку для сохранения файлов img. Но его не получается создать. - person Yinan; 28.10.2009