From: Ivan Zakharyaschev <imz@linux.ru.net> To: <mandrake-russian@altlinux.ru> Subject: Re: [mdk-re] offtopic: troubles with python programming Date: Mon Apr 9 22:24:33 2001 Message-ID: <Pine.LNX.4.33L.0104092218020.2099-100000@zephyrous.ru> (raw) Message-ID: <20010409222433.GaAYrp5VMkvN1AOfzON_sE5bp0v9YA1QGWt2giL0zLw@z> (raw) In-Reply-To: <20010409185909.2edea17f._troggy_@mtu-net.ru> Hello, Pavel! On Mon, 9 Apr 2001, Pavel Marakhovsky 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. Best regards, Ivan. > > > > > > Сейчас у сервера права: > > > -rwxr-xr-x 1 unatine unatine 220 Апр 8 16:41 hins.py > > > > > > Людии.... помогите.... а то я уже совсем запутался... > > > И еще... в книге написано что скрипты запускаются от nobody, но в > python-docs по этому поводу ничего > > > нет. > > > > Приветствую! > > В целях безопасности Апач работает с правами nobody, и соответственно > > CGI с указанными Вами правами выполнять не имеет права :-), если > только > > nobody не является еще и членом группы unatine. > > Так что лучше всего, ИМХО, для вашего CGI'шника поставить: > > права -rwxr-xr-- > > оунер "любое_удобное_Вам_имя" > > группа nobody > > тогда Апач сможет его выполнить, но не сможет его редактировать, а > права > > на запись будут только у владельца, то есть у Вас :-)) > > > > Кстати, если CGI и вообще запускаемый файл не является скомпиленной > > прогой, а есть скрипт, то очень желательно в заголовке указать имя > > интерпретатора, тогда Апач будет знать что ему запустить для > обработки > > данного скрипта CGI. > > Например, если это шелл скрипт, то бычно пишут в первой строке: > > #!/ban/bash > > или > > #!/bin/sh > > или имя любого другого нужного интепретатора. > > Если это скрипт на перл, то пишут: > > #!/usr/bin/perl > > и таким образом сообщают Апачу, где искать обработчик, то есть сам > perl. > > Аналогично надо действовать и с Питоном. > > > > Удачи :-)) > > ААААААААААААА........ Люди!!! Этот скрипт и есть сервак с возможность > запуска cgi-скриптов. > #hins.py - это я на всякий случай написал имя файла, в файле его нет:) > Этот сервак скрипт находит, > но не может запустить выдавая выше приведенное... > > Апач то все нормально запускает, но мне такой бегемот в моей маленькой > квартирке не нужен, вот я и > пытаюсь что-нибудь маленькое для себя написать. > > -- Hi! I'm a .signature virus. Add me into your ~/.signature, please. :-)
next prev parent reply other threads:[~2001-04-09 22:24 UTC|newest] Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top 2001-04-08 22:12 Pavel Marakhovsky 2001-04-08 23:46 ` Ivan Zakharyaschev 2001-04-09 6:20 ` Pavel Marakhovsky 2001-04-09 11:14 ` cornet 2001-04-09 16:50 ` Alexander Bokovoy 2001-04-09 19:36 ` Pavel Marakhovsky 2001-04-09 22:24 ` Ivan Zakharyaschev [this message] 2001-04-09 22:24 ` Ivan Zakharyaschev 2001-04-19 18:01 ` Pavel Marakhovsky 2001-04-10 9:40 ` cornet 2001-04-10 19:05 ` Pavel Marakhovsky 2001-04-10 19:54 ` Ivan Zakharyaschev 2001-04-11 6:26 ` Pavel Marakhovsky 2001-04-10 19:06 ` Pavel Marakhovsky 2001-04-10 19:42 ` Sergey Vlasov 2001-04-11 6:25 ` Pavel Marakhovsky 2001-04-11 9:37 ` cornet 2001-04-11 18:56 ` Pavel Marakhovsky 2001-04-11 11:19 ` Sergey Vlasov 2001-04-11 18:56 ` Pavel Marakhovsky 2001-04-16 8:37 ` Mikhail Zabaluev 2001-04-16 20:02 ` Pavel Marakhovsky
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=Pine.LNX.4.33L.0104092218020.2099-100000@zephyrous.ru \ --to=imz@linux.ru.net \ --cc=mandrake-russian@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Community general discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 community community/ http://lore.altlinux.org/community \ mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com public-inbox-index community Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.community AGPL code for this site: git clone https://public-inbox.org/public-inbox.git