Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] mod_perl suid'???



In <199903201130.OAA00173@xxxxxxxxx> Andrew Maltsev (am@xxxxxxxxx) wrote:
AM> Начал изучать mod_perl и вот какой чайниковский вопрос - а как
AM> собственно дать скрипту права читать/писать файлы некоего
AM> пользователя?

Краткий ответ (поражающий своей простотой :-) : НИКАК.

Развернутый ответ: вся идея mod_perl'а заключается в том, чтобы избежать
лишних запусков интерпретатора perl'а и fork'ов. Однако это обозначает,
что скрипты исполняются как часть процесса httpd ! И имеют соответствующие
права (обычно -- парва пользователя apache или nobody). Это ограничивается
структорой *NIX'а, которая родилась не на пустом месте: НЕЛЬЗЯ допускать,
чтобы программа меняла EUID после того, как она выполняла неизвестный код
(вспомните про perl DSO хотя бы ! да и сам perl я бы не сказал, чтобы был
готов к исполнению с правами root'а). Что можно сделать ? Только две вещи:
  а) пускать [копию] apache из под нужного пользователя
  б) обеспечивать выполнение скриптов/запросов скриптов внешней программой
     (suidperl, suexec, etc).

Возможности и недостатки обоих способов, я надеюсь, очевидны, но третьего не
дано... Можно порекомендовать fastcgi и suidperl или другие подобные решения...



=============================================================================
=               Apache-Talk@xxxxxxxxxxxxx mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.