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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выполнение скрипта с правами пользователя, Выполнение скрипта с правами пользовател 
:(
    Опции темы
Kiber_rat
Дата 19.3.2005, 03:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MACMANIAC
**


Профиль
Группа: Участник
Сообщений: 276
Регистрация: 18.4.2002
Где: Ashdod, Israel

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



Кто какие способы знает что бы CGI скрипт, после авторизации пользователя, позволял выполнять системные комманды с правами этого пользователя. К примеру выводить содержимое какого либо файла из его домашнего каталога.


--------------------
Best regards!                                                             
@..@_____Ku6ep
=*=______\______KPbIC
Код
print join "",map{chr}(split/(\w{2})/,hex(int(2175.57302796298**2)))
PM WWW ICQ Skype Jabber YIM   Вверх
korob2001
Дата 19.3.2005, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



Перефразируй вопрос, сложно понять чего ты хочешь и зачем это нужно.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Kiber_rat
Дата 19.3.2005, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MACMANIAC
**


Профиль
Группа: Участник
Сообщений: 276
Регистрация: 18.4.2002
Где: Ashdod, Israel

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



Хорошо. Пример - WEB интерфейс для управления сайтом. Для этого скрипт, реализующий этот сервис, должен работать с правами пользователя, в домашнм каталоге которого, лежит содержимое сайта. Просматривать, создавать и редактировать файлы и т.п.
Я знаю что можно использовать для этого suexec+sudo, но возможно есть другие способы или модули которые реализуют работу с suexec более прозрачно...


--------------------
Best regards!                                                             
@..@_____Ku6ep
=*=______\______KPbIC
Код
print join "",map{chr}(split/(\w{2})/,hex(int(2175.57302796298**2)))
PM WWW ICQ Skype Jabber YIM   Вверх
korob2001
Дата 20.3.2005, 06:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



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

Насколько я знаю их нужно избегать, где это только возможно, в целях безопасности, скорости выполнения и переносимости. Т.е. если тебе нужно прочитать содержимое каталога, то лучший вариант это не использование команды оболочки ls или dir, а использование самого perl, который имеет несколько способов выполнения данной задачи, при этом не нужно будет поправлять скрипт при переносе на другую платформу, не нужно будет передавать команду оболочке, а затем ожидать от неё результатов. Например такой набор:
opendir, readdir, closedir или glob("шаблон") или <шаблон>


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Kiber_rat
Дата 20.3.2005, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MACMANIAC
**


Профиль
Группа: Участник
Сообщений: 276
Регистрация: 18.4.2002
Где: Ashdod, Israel

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



Ты просто не понял моей задачи или не писал много под *nix smile
Система не даст тебе даже посмотреть содержимое каталога к которому нет доступа у апача (если он у тебя зпущен не под рутом, что совсем уж неправильно). Но дяже если тебе хватит прав просмотреть каталог то отредактировать файл тебе точно не удасться. Потому что права на файлы стоят, как правило 644, т.е. читать могут все а редактировать только владелец. А если мне надо просмотреть файл с правами 600? Используется для предоставления доступа скрипту suexec+sudo. Переносимость меня не волнует аж никак. Или я обязан все приложения писать переносимыми? smile Как пример такого приложения можно посмотреть Cpanel - скрипт для управления сайтом который стоит у огромного количества хостинг провайдеров. Кроме того я считаю что когда пишешь под *nix использование системных комманд во многих случаях оправданно и это соответствует идеологии Unix.
Моя работа, помимо perl программинга еще и администрирование серверов под *nix, для этих серверов я и пишу скрипты, иногда - что бы облегчить себе жизнь, чаще - это и есть суть заказа. Мне не надо переносить свои скрипты под Форточки или еще под что-то. Я вобще стараюсь работать с тем что считаю правильным, если клиента мои условия по выбору ОС и языка разработки не устраивают он идет искать другого исполнителя. Впрочем это я уже "оффтоплю" smile


--------------------
Best regards!                                                             
@..@_____Ku6ep
=*=______\______KPbIC
Код
print join "",map{chr}(split/(\w{2})/,hex(int(2175.57302796298**2)))
PM WWW ICQ Skype Jabber YIM   Вверх
Phoinix
Дата 23.3.2005, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Kiber_rat

достаточно suexeс в Apache, и указать в соответствующем VirtualHost пользователя - владельца папки...
Тогда все perl скрипты этого хоста будут работать от нужного тебе пользователя с соответствующими правами

Это сообщение отредактировал(а) Phoinix - 23.3.2005, 16:23
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


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

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


 




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


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

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