From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <_troggy_@mtu-net.ru> X-Recipient: mandrake-russian@altlinux.ru From: Pavel Marakhovsky <_troggy_@mtu-net.ru> To: mandrake-russian@altlinux.ru Subject: Re: [mdk-re] offtopic: troubles with python programming Message-Id: <20010410175134.3cb93f87._troggy_@mtu-net.ru> In-Reply-To: References: <20010409185909.2edea17f._troggy_@mtu-net.ru> X-Mailer: Sylpheed version 0.4.62 (GTK+ 1.2.9; i686-mandrake-linux) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Sender: mandrake-russian-admin@altlinux.ru Errors-To: mandrake-russian-admin@altlinux.ru X-BeenThere: mandrake-russian@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: mandrake-russian@altlinux.ru X-Reply-To: unatine@narod.ru List-Help: List-Post: List-Subscribe: , List-Id: Mandrake/RE discussion list List-Unsubscribe: , List-Archive: Date: Thu Apr 19 18:01:00 2001 X-Original-Date: Tue, 10 Apr 2001 17:51:34 +0400 Archived-At: List-Archive: List-Post: On Mon, 9 Apr 2001 22:24:27 +0400 (MSD) Ivan Zakharyaschev wrote: > > > > Из книжки "Язык прграммирования Питон" списан пример веб сервера с > > возможность выполнения cgi > > > > скриптов: > > > > > > > > #hins.py > > > > #!/usr/bin/python > > > > from BaseHTTPServer import HTTPServer > > > > from CGIHTTPServer import CGIHTTPRequestHandler > > > > import os > > > > > > > > os.chdir("/home/unatine/hins/html") > > > > serv=HTTPServer(('',80),CGIHTTPRequestHandler) > > > > > > > > serv.serve_forever() > > > > > > > > в /home/unatine/hins/html лежит index.html и есть каталог cgi-bin в > > котором лежит скрипт: > > > > > > > > unatine@localhost ~/hins $ ls -l ./*/* > > > > -rw-r--r-- 1 unatine unatine 314 Апр 8 16:44 > > ./html/index.html > > > > > > > > ./html/cgi-bin: > > > > итого 4 > > > > -rwxr-xr-x 1 unatine unatine 764 Апр 8 16:26 dict_cgi.py > > > > > > > > Ну то что сервер должен запускаться от рута это в принципе понятно > > (иначе ошибка создания сокета) > > > > index.html грузится, скрипт даже пытается выполниться, но говорит: > > > > > > > > localhost - - [08/Apr/2001 21:36:39] "POST /cgi-bin/dict_cgi.py > > HTTP/1.0" 200 - > > > > Traceback (most recent call last): > > > > File "/usr/lib/python2.0/CGIHTTPServer.py", line 211, in run_cgi > > > > os.execve(scriptfile, args, env) > > > > OSError: [Errno 13] Permission denied > > > > > > > > Какие права должны быть у скрипта и сервера, что бы нормально все > > выполнилось? > > На совет (где-то ниже) по поводу вставки #!/usr/bin/python <ключи> в > начало dict_cgi.py стоит обратить внимание. В качестве параметра для > execve, судя по всему, подается этот скрипт. А в начале скриптов такая > строчка необходима -- man 2 execve. Вызов execve, про который я говорю, > как раз находится в File "/usr/lib/python2.0/CGIHTTPServer.py", line 211. В ключах к питону нет ничего интересного или того что могло бы помочь. Все таки что-то с правами на скрипт. В CGIHTTPServer.py все нормально заполняется и передается: скрипт, аргументы и окружение. Я тут уже похоже все возможные варианты перебрал, все равно Permission denied. Хотя у меня начинает появлятся подозрение что ошибки где-то в CGIHTTPServer.py... Но может быть и у меня руки кривые:) -- WBW, Pavel e-mail: unatine@narod.ru Cho-Arrim righteousness was no match for Benalish combat training.