Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 28, 2009 16:00:34

Sapphire
От:
Зарегистрирован: 2009-09-28
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Строго ограничить доступные скрипту возможности

Всем привет)

Такая задача: исполняется пользовательский пайтон скрипт, и нужно строго ограничить его в возможностях. Как то: закрыть доступ в сеть, запретить писать/читать файлы, обращаться к базам данных, пользоваться потоками ввода-вывода, и тд. То есть пользовательскому скрипту, по сути, должны быть доступны только нужные для внутренних расчётов возможности (к примеру, математические), ну и сами возможности языка в плане гибкости и удобства. Также должна быть доступна библиотека с функциями апи, через которую скрипт и должен взаимодействовать с сервером, на котором выполняется.
Как это реализовать? А то гуглю уже два дня, но что-то ничего толкового не нашёл по этому поводу пока :(



Офлайн

#2 Сен. 28, 2009 17:33:29

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Строго ограничить доступные скрипту возможности

Такие вещи надо делать на уровне администрирования ОС. Создать, к примеру, пользователя с нужными правами и запускать скрипт от его имени.
Ваш К.О.

Офлайн

#3 Сен. 28, 2009 17:58:13

Sapphire
От:
Зарегистрирован: 2009-09-28
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Строго ограничить доступные скрипту возможности

А как, в таком случае, быть с апи-библиотекой? У неё-то должны быть права на работу с файлами/БД и тд.
Я вообще надеялся на существование способа запретить, скажем, использование конкретных функций/классов/библиотек.



Офлайн

#4 Сен. 28, 2009 18:12:57

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Строго ограничить доступные скрипту возможности

Такие вещи делаются только на уровне ОС, и администрировать их можно только на этом же уровне.

Офлайн

#5 Сен. 28, 2009 18:56:22

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Строго ограничить доступные скрипту возможности

Ferroman
не совсем согласен , можно выкинуть часть библиотек или библиотеки.
Sapphire
тут нужно смотреть для чего ты это спрашиваешь … если чисто теоретически то тут ответ “феромана” вполне годен

Офлайн

#6 Сен. 28, 2009 19:02:13

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Строго ограничить доступные скрипту возможности

sypper-pit
Что не решит проблему, ибо есть ввод-вывод в файлы, память, да и ещё море лаезеек через которые можно повлиять на окружение.

Офлайн

#7 Сен. 28, 2009 19:05:05

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Строго ограничить доступные скрипту возможности

да компы это вообще не надёжно :) толи дело лопата :)

Офлайн

#8 Сен. 28, 2009 19:26:49

Sapphire
От:
Зарегистрирован: 2009-09-28
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Строго ограничить доступные скрипту возможности

Хм… Для чего конкретно: я хочу сделать виртуальную арену для сражений ботов. Как, например, Robocode. Можно бы создать собственный обработчик скриптов, но хочется дать юзеру широкие возможности, ООП и так далее. Писать обработку всех таких конструкций с нуля - не совсем то, чем я хотел заниматься. Вот и подумал, что нужно прикрутить имеющийся интепретатор, только как-то ограничить возможности. Выбрал именно пайтон из личной симпатии))



Офлайн

#9 Сен. 28, 2009 20:50:20

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Строго ограничить доступные скрипту возможности

хм тогда проще создать виртуальную машину и настроить её под свои нужды кк предложил “фероман”

Офлайн

#10 Сен. 28, 2009 21:08:00

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Строго ограничить доступные скрипту возможности

sypper-pit
Не понял юмора. При чём тут лопата?
То что просит топикстартер решается средствами администрирования ОС.
Другими способами этот вопрос не решается. Сделать это все под виртуалкой - отличная идея.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version