Forum Webscript.Ru
Программирование => Perl => Тема начата: djkostya от 10 Апреля 2006, 13:45:40
-
А вобще как сделать чтоб mod_perl не работал с апачаеского правами
То есть сменить пользователя....???????
И возможно ли к каждому виртуальному хосту сделать чтоб он запускался со своими правами....
-
МММММММ да вроде ответ нашёл...
The answer is No. The reason is that you can\'t "suid" a part of a process. mod_perl lives inside the Apache process, so its UID and GID are the same as the Apache process.
You have to use mod_cgi if you need this functionality.
Another solution is to use a crontab to call some script that will check whether there is something to do and will execute it. The mod_perl script will be able to create and update this todo list.
-
djkostya:
И возможно ли к каждому виртуальному хосту сделать чтоб он запускался со своими правами....
suexec рулит
-
xmolex и чё с этим suexec делать ????????
-
Он должен стоять в апаче.
А потом в конфиге виртуального хоста прописываешь
SuexecUserGroup user group
После этого рестартишь сервер и твои скрипты на этом вирт. хосте выполняются от этого пользователя.
Если что не так, смотри в логах суехека, по дэфолту в /usr/local/logs/
-
Вот мой конфиг mod_perl а
И куда его вставлять
Alias /mod/ "/home/site/mod/"
PerlModule Apache::Registry
PerlModule header::header::header
SetHandler perl-script
PerlHandler header::header::header
PerlHandler Apache::Registry
Options ExecCGI
allow from all
PerlSendHeader On
-
У меня апач 1 версии
-
Ну, вставлять тебе его нужно в httpd.conf, но ты когда mod_perl ставишь он сам дописывается в httpd. mod_perl по всякому будет работать с апачевскими правами. Единственное что ты можешь сделать это использовать suexec. Зайди в директорию bin, где установлен apache и посмотри есть ли там suexec. Если есть введи ./suexec -V, и посмотри пути. Если пути не правельные нужно пересобрать suexec и новый поместить в bin апачевский. А потом поместить SuexecUserGroup user group в твой файл конфига виртуального сервера.
-
так давай по порядку
-D DOC_ROOT="/home"
-D GID_MIN=1000
-D HTTPD_USER="www"
-D LOG_EXEC="/var/log/httpd-suexec.log"
-D SAFE_PATH="/bin:/usr/bin:/usr/local/bin"
-D UID_MIN=1000
-D USERDIR_SUFFIX="public_html"
Всё вроде правильно в отношении путей....
Syntax error on line 1502 of /usr/local/etc/apache/httpd.conf:
Invalid command \'SuexecUserGroup\', perhaps mis-spelled or defined by a module not included in the server configuration
То есть я как понимаю у меня нет модуля...
Где блин его взять ??????
-
Извини перепутал.
SuexecUserGroup - это во втором апаче
Тебе надо
User что-то Group что-то
-
xmolex
ты знаешь не пашет всё равно выполняеться из под пользвателя апача
-
Посмотри что пишется в логах суехека.
-
посмотри сперва как у тебя апач собран:
httpd -l что выводит? (suexec WRAPPER enable? или нет)
-
http_core.c
mod_so.c
suexec: enabled; valid wrapper /usr/local/sbin/suexec
-
Короче давайте по порядку...
Щас я попробую по другому сделать
-
То есть есть скрипт в папке
если выставить 750 и в группу поставить пользователя mod_perl то всё пашет
Но если убрать пользователя то нифига не работает
-
Это понятно. Ты скажи, написал ли suexec что-нибудь в логах? Хоть как-то он заработал? А, вообще, помню в свое время я с suexec\'ом три дня маялся.
-
xmolex Да в том и дело в логах ничего пусто только надпись апач запущен.......
-
При компиляции апача добавь к своему конфигуре эти опции
./configure --enable-suexec \\
--suexec-caller=www \\
--suexec-docroot=/home \\
--suexec-uidmin=1000 \\
--suexec-gidmin=1000 \\
где
caller - это тот под кем будет пускаться апач
docroot - это откуда можно пускать скрипты
ну и последнее минимальный уид и гид юзера который может пускать скрипты
а в конфиге писать ниче не надо
только пиши при определение вирт. хоста
User
Group
-
xmolex Да с этим всё собранно......
-
Посмотри еще здесь. http://www.oszone.ru/display.php?id=2825
Обрати внимание на группы.
Если не поможет, выкладывай конфиг httpd.conf.
-
Блин апач вобще рухнул......теперь не запускаеться
-
djkostya:
Блин апач вобще рухнул......теперь не запускаеться
Ну для этих целей всегда есть запасной конфиг httpd.default.conf
-
Да нет проблме в обработчиках была....
-
Проблему-то решил?