Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вызов httpd graceful через перл 
V
    Опции темы
CTYDEHT
Дата 12.1.2006, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 17.10.2004
Где: Восточная Европа

Репутация: нет
Всего: нет



Это собственно говоря все, что нужно сделать. Перегрузить httpd.conf, когда вызывается скрипт через браузер. Я написал такой скриптик:

Код

#!/usr/local/bin/perl -w -U
print "Content-type: text/html\n\n";
system ("httpd graceful");


Но вот проблема... браузеру ничего не выводится, ошибки не происходит, но и httpd не перегружается...

Хотя например ls работает нормально, показывает содержимое папки.

Кто-то может сказать в чем может быть дело?
PM MAIL ICQ YIM MSN   Вверх
sharq
Дата 12.1.2006, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 23
Всего: 28



CTYDEHT скорей всего ошибка какая-то вываливается, может прав нет или нет возможности перезагруpить в данный момент виртуальный сервер.

Поэтому пробуй так, чтобы увидеть и ошибки:
Код

#!/usr/local/bin/perl -w
use strict;
print "Content-type: text/html\n\n";
my @content = `httpd graceful 2>&1 &`;
print 'Content:<br>', join "<br>\n", @content; 


smile


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
CTYDEHT
Дата 12.1.2006, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 17.10.2004
Где: Восточная Европа

Репутация: нет
Всего: нет



Сделал, вот что вывело:

Код

Content:
sh: line 1: httpd: command not found 


Странно... почему? Кстати я также обнаружил, что не работает и 'cd'

У меня есть root доступ... Может где что поменять нужно?

sharq, вот моя ася 222 697 257, стукни пожалуйста

Это сообщение отредактировал(а) CTYDEHT - 12.1.2006, 19:24
PM MAIL ICQ YIM MSN   Вверх
Sadok
Дата 13.1.2006, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 2.11.2004

Репутация: 1
Всего: 2



CTYDEHT
Так чтобы перегрузиь сервак, нужны рутовые права, а у тебя скрипт выполняется от какого-нить nobody:nobody (или от чего там сервер запущен). Такчто sudo натрави на него.
PM   Вверх
CTYDEHT
Дата 13.1.2006, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 17.10.2004
Где: Восточная Европа

Репутация: нет
Всего: нет



Sadok Спасибо за совет. У меня действительно скрипты запускаются от nobody:nobody.

Но здесь есть несколько ньюансов. Я не пользовался никогда sudo, но насколько я порылся в интернете я понял, что можно сделать что-то вроде авторизации, т.е. в скрипте указать логин и пароль юзера, который имеет рутовые права и потом от его имени выполнять команды.

Такой вариант хоть и подходит, но не очень, потому-что если некоторые "злые дяди" доберутся до этого файла, то сервер будет в их руках.

Существует ли возможность сделать так, чтоб какой-то определенный скрипт запускался от имени определенного пользователя, а все остальные по прежнему от nobody:nobody?

Или какой-то другой способ, чтоб в самом скрипте никаких "интимных" данных не указывалось и плюс к этому все остальные юзеры и аккаунты по прежнему выполняли скрипты от nobody:nobody.

Это сообщение отредактировал(а) CTYDEHT - 13.1.2006, 17:07
PM MAIL ICQ YIM MSN   Вверх
CTYDEHT
Дата 14.1.2006, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 17.10.2004
Где: Восточная Европа

Репутация: нет
Всего: нет



Попытался я настроить sudoers следующим образом

nobody ALL=NOPASSWD: /usr/sbin/httpd graceful secword

а мне выдало Sorry, sudo must be setuid root.

Я подумал, что я сделал что-то не так, но то же сообщение было и после:

nobody ALL=NOPASSWD: /usr/sbin/httpd graceful secword
nobody ALL=NOPASSWD: /usr/sbin/httpd graceful
nobody localhost=NOPASSWD: /usr/sbin/httpd graceful

и даже после:

nobody ALL=(ALL) ALL


Люди, кто пользовался sudo, подскажите, в чем может быть косяк???
PM MAIL ICQ YIM MSN   Вверх
CTYDEHT
Дата 15.1.2006, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 17.10.2004
Где: Восточная Европа

Репутация: нет
Всего: нет



Проблема решилась.

Спасибо всем, кто помог.

PM MAIL ICQ YIM MSN   Вверх
BlackLFL
Дата 15.1.2006, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

Репутация: 8
Всего: 12



как она решилась, напишите тут, чтобы другие потом не задавали подобный вопрос ...
PM WWW   Вверх
CTYDEHT
Дата 16.1.2006, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 17.10.2004
Где: Восточная Европа

Репутация: нет
Всего: нет



Sudo не работал потому что не получал ID текущего юзера. Нужно было выставить права `chmod 4111 /usr/bin/sudo`. Тогда в sudoers нужно указывать не nobody, а имя юзера на чьем аккаунте выполняется скрипт.
PM MAIL ICQ YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0763 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.