Мой вопрос похож на этот question, но я не получил ответа.Изменение разрешения программы в Linux
Я пытаюсь создать судью.
Пользователи системы онлайн-судей отправляют исходный код, затем серверная программа компилирует и запускает его. Поэтому серверная программа должна поддерживать безопасность сервера.
И есть много вещей, которые пользователь может использовать для внесения изменений на сервер.
Как я могу изменить разрешение программы? Так что скомпилированный код не сможет ничего сделать, кроме как распечатать что-нибудь!
P.S: поиск слов suspicioius - не очень хорошая идея. Например, пользователь может использовать следующую команду вместо слова system
в C++:
#define glue(a,b) a ## b
glue(sys,tem) ("rm *"); //DO NOT RUN THIS CODE
Так на самом деле пользователь использовал следующий код без использования слова system
:
system ("rm *"); //DO NOT RUN THIS CODE
запустить их на виртуальных машинах или контейнерах, созданных на лету. –