@sadfun

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

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

Никто не гарантирует, что в коде нет чего-то вредоносного. Как запускать сторонние скрипты безопасно, чтобы у них не было доступа к файлам и всяким низкоуровневым штуками?
  • Вопрос задан
  • 190 просмотров
Решения вопроса 1
solotony
@solotony
покоряю пик Балмера
если есть разделение прав, то с правами пользователя нет никакого доступа к "низкоуровневым штуками" - юзер работает в своей папке со своими правами. собственно так работает большинство хостингов.

Jail нужен в том случае, когда вы хотите пользователю как бы создать видимость виртуальной машины, дать ему там право делать все что угодно, но что бы он не вылез наружу
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Виртуалка, Jail, докер, фильт на файловую систему со сбросом после перезагрузки.

Выбирайте любой метод
Ответ написан
Комментировать
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"
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы