Estoy escribiendo algo similar al http://ideone.com/. Actualmente estoy ejecutando procesos de usuario con llamada CreateProcess. Mato el proceso si se ejecuta más tiempo que el tiempo especificado, pero no sé cómo negar derechos de lectura/escritura del sistema de archivos/creación de derechos de proceso, etc. al proceso creado. El ejecutable dado puede ser literalmente cualquier cosa y necesito permitir solo stdin/stdout. También sería genial si pudiera establecer el conjunto de memoria de trabajo.Ejecutando un proceso con los privilegios más bajos posibles en winapi
He leído un montón de artículos en MSDN como CreateProcessAsUser Function, etc. CreateProcessWithLogonW Function pero se confunden muy rápido (probablemente debido a mi conocimiento es muy limitado Win32). Es suficiente llamar a CreateProcessAsUser y crear un usuario especial con esos privilegios limitados (y cómo crear dicho usuario).
Espero poder lograr esto en una llamada de función con los parámetros correctos así que por favor ayuda.
Además, si conoce algún proyecto similar de código abierto, sería genial.
Gracias.
============================================== ============
Edit: Hola otra vez :) Todavía estoy atascado con esto. No tuve tiempo suficiente para trabajar en esto, pero creo que la publicación de snemarch es muy útil. Si alguien tiene una solución lista para usar, sería genial. Publicaré si hago algo con los enlaces de snemarch.
Instumentation VMware está fuera de la cuestión? o algún otro producto vm? –
no, no está fuera de discusión, pero me gustaría atenerme a la API de victoria si es posible. Estoy abierto para todas las sugerencias. – Klark