Python: ¿Asegurar scripts / subproceso no confiables con chroot y chjail?

Estoy escribiendo un servidor web basado en Python que debería poder ejecutar "complementos" para que la funcionalidad se pueda extender fácilmente.

Para esto, consideré que el enfoque tiene una cantidad de carpetas (una para cada complemento) y una serie de scripts de shell / python que llevan el nombre de nombres predefinidos para diferentes eventos que pueden ocurrir.

Un ejemplo es tener unon_pdf_uploaded.py Archivo que se ejecuta cuando un PDF se carga en el servidor. Para ello utilizaría Python.subproceso herramientas.

Por comodidad y seguridad, esto me permitiría usar las variables de entorno Unix para proporcionar más información y configurar el directorio de trabajo (cwd) del proceso para que pueda acceder a los archivos correctos sin tener que encontrar su ubicación.

Dado que el código del complemento proviene de una fuente no confiable, quiero hacerlo lo más seguro posible. Mi idea fue ejecutar el código en un subproceso, pero ponerlo en una jaula chroot con un usuario diferente, para que no pueda acceder a ningún otro recurso en el servidor.

Desafortunadamente, no pude encontrar nada sobre esto, y no me gustaría confiar en el guión no confiable para encarcelarlo.

Además, tampoco puedo poner el proceso principal / de llamada en una jaula chroot, ya que el código del complemento puede ejecutarse en varios procesos al mismo tiempo mientras el servidor responde a otras solicitudes.

Entonces, aquí está la pregunta: ¿Cómo puedo ejecutar subprocesos / scripts en una jaula chroot con privilegios mínimos para evitar que el resto del servidor se dañe por un código no confiable o defectuoso?

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta