@sadfun

Как запустить код в изолированной среде?

Допустим, я пишу систему для проведения олимпиад по программированию - участники сдают код, сервер запускает его на тестах.

Никто не гарантирует, что в коде нет чего-то вредоносного. Как запускать сторонние скрипты безопасно, чтобы у них не было доступа к файлам и всяким низкоуровневым штуками?
  • Вопрос задан
  • 156 просмотров
Пригласить эксперта
Ответы на вопрос 4
firedragon
@firedragon
Senior .NET developer
Виртуалка, Jail, докер, фильт на файловую систему со сбросом после перезагрузки.

Выбирайте любой метод
Ответ написан
solotony
@solotony
code for food, caviar preferably
если есть разделение прав, то с правами пользователя нет никакого доступа к "низкоуровневым штуками" - юзер работает в своей папке со своими правами. собственно так работает большинство хостингов.

Jail нужен в том случае, когда вы хотите пользователю как бы создать видимость виртуальной машины, дать ему там право делать все что угодно, но что бы он не вылез наружу
Ответ написан
@D0min0
взял из этой статьи https://blog.cloudflare.com/a-gentle-introduction-...
https://github.com/amluto/virtme
virtme-run \
--kimg bzImage \
--rw --pwd --memory 512M \
--script-sh "what to run inside kvm"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы