|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Eugene Grosbein 2:5006/1 02 Oct 2000 20:32:32 To : Artyom Tarasenko Subject : Re: Запаpоленный вход --------------------------------------------------------------------------------
> >> >> Попросить администратора настроить выполнение твоих скриптов
> >> >> через suexec. Правда, о mod_perl тогда можно забыть.
> >> EG> Hеправда. У меня suEXEC и mod_perl отлично работают вместе.
> >>
> >> Блин, опять сказал не то, что хотел сказать ;-(.
> >> Правильно так: насколько я знаю, скрипты, выполняющиеся из под
> >> mod_perl нельзя (в принципе) выполнить с правами пользователя.
>
> EG> Именно так я тебя и понял. И это неправда.
>Hо как?
Имеется работающий Russian Apache 1.3.9PL29.2 (последняя stable-версия) +
mod_perl 1.24. Собираем дополнительно с suEXEC, как в доке написано.
Apache идет под nobody, в отдельном VirtualHost прописываем юзеровские
username и groupname.
Имеем скрипт /cgi-bin/id.pl:
#!/usr/bin/perl
use Apache;
use POSIX ();
$|=1;
print "Content-Type: text/plain\n\n";
system("/usr/bin/id");
print POSIX::getuid();
exit(0);
И getuid(), и /usr/bin/id говорять, что скрипт выполняется не под nobody,
а под юзеровским id. Докажем теперь, что скрипт выполняется под mod_perl.
Переименовываем его в id.cgi (mod_perl настроен только на .pl).
Как полагается, скрипт выдает 500 Internal server error из-за
use Apache - это работает только под mod_perl. Убираем use Apache -
снова работает и показывает то же самое. Это уже без mod_perl.
Убедительно?
Eugene
--- slrn/0.9.6.2 (FreeBSD)
* Origin: SVZ-Service (2:5006/1@fidonet)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/349388f7e9beb.html, оценка из 5, голосов 10
|