URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7191
[ Назад ]

Исходное сообщение
"perl-скрипт в апаче от рута"

Отправлено Xavier , 18-Фев-08 20:18 
Есть ли хоть малейшая возможность выполнить perl-скрипт в апаче от рута? Я хочу добавлять системных пользователей с помощью adduser через веб-интерфейс.
Я использую Fedora Core 8, apache 2 (работает от пользователя apache), perl 5.8.8. Сегодня целый день ковырялся, пытался и под судо, и сетуид бит, и враппер для перл-скрипта на С написать - не работает никак вообще.

Содержание

Сообщения в этом обсуждении
"perl-скрипт в апаче от рута"
Отправлено angra , 18-Фев-08 22:13 
Вы идете неправильным путем, но если хочется, то установите suid-perl, это позволит выполняться суидным перловым скриптам.
Правильным вариантом было бы написать демона, ждущего коннекта с localhost на каком-либо порту или через unix socket, проводящего авторизацию и выполняющего определенные действия с рутовыми правами

"perl-скрипт в апаче от рута"
Отправлено Xavier , 18-Фев-08 23:04 
>Вы идете неправильным путем, но если хочется, то установите suid-perl, это позволит
>выполняться суидным перловым скриптам.

пробовал я и suidperl - тоже безуспешно. Решение с демоном видится мне слегка сложноватым и нетривиальным. Попробую дождаться еще советов.


"perl-скрипт в апаче от рута"
Отправлено Vladimir , 19-Фев-08 00:14 
Ты не понял основной мысли

>>Вы идете неправильным путем,

Зачем нужны системные пользователи ? В большинстве случаев их можно держать в базе.


"perl-скрипт в апаче от рута"
Отправлено Wulf , 19-Фев-08 01:44 
>Вы идете неправильным путем, но если хочется, то установите suid-perl, это позволит
>выполняться суидным перловым скриптам.
>Правильным вариантом было бы написать демона, ждущего коннекта с localhost на каком-либо
>порту или через unix socket, проводящего авторизацию и выполняющего определенные действия
>с рутовыми правами

А еще более правильным будет использование какого-нибудь RPC, коих для perl-а вагон и маленькая тележка: и SOAP и XML-RPC и CORBA и т.д. и т.п.


"perl-скрипт в апаче от рута"
Отправлено Xavier , 19-Фев-08 22:36 
>А еще более правильным будет использование какого-нибудь RPC, коих для perl-а вагон
>и маленькая тележка: и SOAP и XML-RPC и CORBA и т.д.
>и т.п.

Только я в них совершенно не разбираюсь. Как-то лень тратить несколько недель на разбор RPC, хочется немного попроще. Изначально я вообще думал за день справится, но уже неделя минула, а дела всё нет :(


"perl-скрипт в апаче от рута"
Отправлено angra , 20-Фев-08 13:39 
А доку читать пробовали? Большинство модулей перла очень хорошо документированы и зачастую есть готовые примеры. Хотя для такой простой задачи, как я уже говорил, хватит элементарного демона с чисто текстовой передачей команд, без всяких xml, soap и прочего. Сделайте man perlipc и найдете готовые примеры клиента и сервера. Задемонизировать чуть сложнее(не помню готовых примеров в манах), но ведь всегда есть nohup.

"perl-скрипт в апаче от рута"
Отправлено Xavier , 22-Фев-08 13:21 
>Сделайте man perlipc и найдете готовые примеры
>клиента и сервера.

Спасибо за совет, добавил себе в список "to do". Обязательно ознакомлюсь.


"perl-скрипт в апаче от рута"
Отправлено arto , 19-Фев-08 02:00 
>Есть ли хоть малейшая возможность выполнить perl-скрипт в апаче от рута? Я
>хочу добавлять системных пользователей с помощью adduser через веб-интерфейс.
>Я использую Fedora Core 8, apache 2 (работает от пользователя apache), perl
>5.8.8. Сегодня целый день ковырялся, пытался и под судо, и сетуид
>бит, и враппер для перл-скрипта на С написать - не работает
>никак вообще.

а что с sudo не так?


"perl-скрипт в апаче от рута"
Отправлено Xavier , 19-Фев-08 22:34 
>а что с sudo не так?

не работает и всё. Я уже и знакомых привлекал - нифига. Без понятия почему


"perl-скрипт в апаче от рута"
Отправлено felix , 19-Фев-08 05:22 
>Есть ли хоть малейшая возможность выполнить perl-скрипт в апаче от рута? Я
>хочу добавлять системных пользователей с помощью adduser через веб-интерфейс.
>Я использую Fedora Core 8, apache 2 (работает от пользователя apache), perl
>5.8.8. Сегодня целый день ковырялся, пытался и под судо, и сетуид
>бит, и враппер для перл-скрипта на С написать - не работает
>никак вообще.

Открой WEBMIN и посмотри на исходники.


"perl-скрипт в апаче от рута"
Отправлено ezotrank , 19-Фев-08 20:09 
>Есть ли хоть малейшая возможность выполнить perl-скрипт в апаче от рута? Я
>хочу добавлять системных пользователей с помощью adduser через веб-интерфейс.
>Я использую Fedora Core 8, apache 2 (работает от пользователя apache), perl
>5.8.8. Сегодня целый день ковырялся, пытался и под судо, и сетуид
>бит, и враппер для перл-скрипта на С написать - не работает
>никак вообще.

Это конечно извращение но все же. В httpd.conf можно указать от какого пользователя и группы  будет запускаться httpd процесс, можно попробовать указать User root Group root может поможет. Но я бы все же так делать не стал.


"perl-скрипт в апаче от рута"
Отправлено Xavier , 19-Фев-08 22:32 
>Это конечно извращение но все же. В httpd.conf можно указать от какого
>пользователя и группы  будет запускаться httpd процесс, можно попробовать указать
>User root Group root может поможет. Но я бы все же
>так делать не стал.

рут не катит. Всё-таки предполагается, что это многопользовательская система.


"perl-скрипт в апаче от рута"
Отправлено Аноним , 21-Фев-08 07:19 
man sudoers на предмет опции requiretty

"perl-скрипт в апаче от рута"
Отправлено Xavier , 22-Фев-08 13:25 
>man sudoers на предмет опции requiretty

очень дельный


"perl-скрипт в апаче от рута"
Отправлено Xavier , 22-Фев-08 13:26 
>man sudoers на предмет опции requiretty

очень дельный совет. У меня в конфиге requiretty был включен :(


"perl-скрипт в апаче от рута"
Отправлено Xavier , 22-Фев-08 13:29 
всем спасибо.
Проблему решил путем написания wrapper'a на С.