Nueva versión del parche experimental para servidores virtuales Linux

Se publica una nueva versión del parche experimental para Linux que permite el particionado del sistema operativo en entidades separadas e independientes

Ello posibilita la creación de un número ilimitado de “servidores virtuales” dentro de la misma máquina.

Cada servidor virtual puede tener una visión propia del sistema de ficheros (vía “chroot” y “mount”), una IP separada (vía la nueva llamada al sistema “set_ipv4root”) y una lista de procesos independiente (vía la nueva llamada al sistema “new_s_context”), para que los diferentes servidores virtuales no puedan listar o acceder a procesos externos.

Con estas nuevas funcionalidades es posible crear servidores virtuales arbitrarios, cada uno de ellos independiente de los demás y sin que se produzcan interferencias entre los mismos, incluso para los “superusuarios” o “root”, o ejecutables SETUID.

Todas las máquinas virtuales se ejecutan bajo la misma imagen de sistema operativo, por lo que su rendimiento es óptimo, y no se requiere ningún cambio en las herramientas para hacer uso de esta nueva funcionalidad.

Otros Unix disponen de funcionalidades similares, como la función “jail” de *BSD, pero el parche propuesto para Linux es más flexible y permite posibilidades extra, como que el “super super usuario” (el usuario “root” del dominio de seguridad “root”) pueda añadir nuevos procesos a un servidor virtual ya creado y en funcionamiento.

Además “new_s_context” es una llamada a sistema no privilegiada, pudiendo ser utilizada por cualquier usuario. Por ejemplo, para “encerrar” un proceso no fiable y que éste no pueda interactuar con otros procesos del sistema, incluso del mismo usuario. “set_ipv4root” tampoco es una llamada privilegiada.

Se trata de un parche experimental pero bastante robusto. Cualquier administrador de sistemas Linux debería echarle un vistazo, sobre todo si su trabajo está relacionado con el hospedaje de máquinas y/o servicios.

La última versión del parche (0.23) funciona correctamente con la última versión publicada del kernel estable de Linux, la 2.4.21.