Песочница общедоступный GCC - PullRequest
1 голос
/ 22 марта 2012

Я хочу добавить в веб-службу на основе linux функцию, которая позволяет ненадежным пользователям загружать исходный код в небольшую программу на C ++ и автоматически сохранять этот код в файле на сервере и компилировать с помощью gcc и затем выполняется, захватывая стандартный вывод. (Эта функция не отличается от ideone.com, spoj.pl, topcoder.com, codechef.com и многих других веб-сайтов, которые делают это.)

Мои вопросы:

Q1. Как сделать «песочницу» для исполняемого файла, чтобы защититься от вредоносных пользователей, которые пытаются повредить файловую систему или получить доступ к сети и т. Д.

Q2. Существует ли справедливый / точный способ сокращения системных ресурсов процесса, таких как время процессора и использование памяти?

1 Ответ

1 голос
/ 22 марта 2012
  1. тюремная тюрьма
  2. ULIMIT
  3. исправление ядра, так что socket () с помощью uid, с которым вы работаете, завершается с ошибкой.
...