Necesito ejecutar un proceso en un chroot con un sistema de archivos virtual /proc, por lo que el proceso no puede acceder a otros procesos que se ejecutan en el mismo host. El proceso debe ejecutarse bajo la raíz y tener acceso completo a los archivos en chroot. Además, cualquier cambio en el sistema de archivos debe conservarse en el directorio chroot.
¿Es siquiera posible?
Respuesta1
Es posible montar /proc en un entorno chroot - veresta respuestapara más información sobre eso.
Me preocuparía que el programa no pueda acceder a otros procesos, ya que se puede acceder a gran parte (si no a toda) de esta información a través de /proc (/proc/[número de pid] le dará acceso a esto).
No está claro qué quiere decir con "cambios en el sistema de archivos", pero si estos cambios son en el sistema de archivos excluyendo bits especiales como /proc, /dev/ etc, estos permanecerán en el chroot.
Respuesta2
Puede lograr esto utilizando espacios de nombres de Linux. Los contenedores (Docker, lxc) están hechos de ellos. man unshare
es tu amigo. Tenga en cuenta que el atacante puede escapar fácilmente chroot
si lo usa incorrectamente. Lea sobre esto antes de usarlo. Usted ha sido advertido.