Я пишу что-то похожее на http://ideone.com/. В настоящее время я запускаю пользовательские процессы с вызовом CreateProcess.Я убиваю процесс, если он длится дольше указанного времени, но я не знаю, как запретить права на чтение / запись файловой системы / создание прав на процесс и т. Д. Для созданного процесса.Данный исполняемый файл может быть буквально любым, и мне нужно разрешить только stdin / stdout.Также было бы замечательно, если бы я мог установить набор рабочей памяти.
Я прочитал много статей о msdn, таких как Функция CreateProcessAsUser , Функция CreateProcessWithLogonW и т. Д., Но язапутаться очень быстро (вероятно, потому что мои знания по win32 чрезвычайно ограничены).Достаточно ли просто вызвать CreateProcessAsUser и создать специального пользователя с этими ограниченными правами (и как создать такого пользователя).
Я надеюсь, что смогу добиться этого за один вызов функции с правильными параметрами, поэтому, пожалуйста, помогите.
Кроме того, если вы знаете какой-то похожий проект с открытым исходным кодом, это было бы здорово.
Спасибо.
=================================================================
Редактировать: Привет еще раз:) Я все еще застрял с этим.У меня не было достаточно времени, чтобы поработать над этим, но я думаю, что snemarch post очень полезен.Если у кого-то есть нестандартное решение, это было бы здорово.Я напишу, если я сделаю что-нибудь со ссылками snemarch.