Найти - Пользователи
Полная версия: Строго ограничить доступные скрипту возможности
Начало » Python для новичков » Строго ограничить доступные скрипту возможности
1 2 3 4
Sapphire
Всем привет)

Такая задача: исполняется пользовательский пайтон скрипт, и нужно строго ограничить его в возможностях. Как то: закрыть доступ в сеть, запретить писать/читать файлы, обращаться к базам данных, пользоваться потоками ввода-вывода, и тд. То есть пользовательскому скрипту, по сути, должны быть доступны только нужные для внутренних расчётов возможности (к примеру, математические), ну и сами возможности языка в плане гибкости и удобства. Также должна быть доступна библиотека с функциями апи, через которую скрипт и должен взаимодействовать с сервером, на котором выполняется.
Как это реализовать? А то гуглю уже два дня, но что-то ничего толкового не нашёл по этому поводу пока :(
Ferroman
Такие вещи надо делать на уровне администрирования ОС. Создать, к примеру, пользователя с нужными правами и запускать скрипт от его имени.
Ваш К.О.
Sapphire
А как, в таком случае, быть с апи-библиотекой? У неё-то должны быть права на работу с файлами/БД и тд.
Я вообще надеялся на существование способа запретить, скажем, использование конкретных функций/классов/библиотек.
Ferroman
Такие вещи делаются только на уровне ОС, и администрировать их можно только на этом же уровне.
sypper-pit
Ferroman
не совсем согласен , можно выкинуть часть библиотек или библиотеки.
Sapphire
тут нужно смотреть для чего ты это спрашиваешь … если чисто теоретически то тут ответ “феромана” вполне годен
Ferroman
sypper-pit
Что не решит проблему, ибо есть ввод-вывод в файлы, память, да и ещё море лаезеек через которые можно повлиять на окружение.
sypper-pit
да компы это вообще не надёжно :) толи дело лопата :)
Sapphire
Хм… Для чего конкретно: я хочу сделать виртуальную арену для сражений ботов. Как, например, Robocode. Можно бы создать собственный обработчик скриптов, но хочется дать юзеру широкие возможности, ООП и так далее. Писать обработку всех таких конструкций с нуля - не совсем то, чем я хотел заниматься. Вот и подумал, что нужно прикрутить имеющийся интепретатор, только как-то ограничить возможности. Выбрал именно пайтон из личной симпатии))
sypper-pit
хм тогда проще создать виртуальную машину и настроить её под свои нужды кк предложил “фероман”
Ferroman
sypper-pit
Не понял юмора. При чём тут лопата?
То что просит топикстартер решается средствами администрирования ОС.
Другими способами этот вопрос не решается. Сделать это все под виртуалкой - отличная идея.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB