Varios usuarios sin experiencia en un servidor Linux. ¿Cuál es la mejor manera de utilizar contenedores para protegerse contra daños involuntarios?

Varios usuarios sin experiencia en un servidor Linux. ¿Cuál es la mejor manera de utilizar contenedores para protegerse contra daños involuntarios?

Entonces, soy un investigador encargado de mantener varios servidores GPU para los investigadores en mi laboratorio. Tengo bastante experiencia con Linux, aunque algunos usuarios nunca antes han usado Linux.

Los otros investigadores y yo tenemos acceso root. Desafortunadamente, al configurar requisitos/dependencias/etc. para sus proyectos, sin querer dañarán o configurarán mal el servidor, a veces de maneras que no sé cómo solucionar.

Entonces, quiero usar chroot, LXC o algún otro tipo de virtualización de bajo costo para limitar daños involuntarios. Por ejemplo, un usuario que ejecuta accidentalmente sudo rm -rf --no-preserve-root /sólo debería dañar su propio contenedor. No tengo la intención de proteger contra daños intencionalmente maliciosos o contra el agotamiento de recursos (pero sería bueno si fuera "gratis").

Más importante aún, quiero que este cambio sea transparente para ellos: todos deberían poder ingresar mediante SSH al servidor y conectarse inmediatamente a su propio contenedor, y también poder usar rsync, etc. Debería ser el único que tenga para entender los contenedores. Idealmente, todos también podrían acceder a una carpeta/disco compartido (para almacenar grandes conjuntos de datos, modelos, etc. que no queremos duplicar). Para ser específicos, estamos en un servidor Ubuntu 18.04.

En resumen, ejecuto un servidor Linux para múltiples usuarios con acceso SSH. Mis objetivos son compartimentar a los usuarios en sus propios contenedores/VM para protegerlos contra daños involuntarios, sin una gran sobrecarga y sin requerir que estos usuarios cambien su flujo de trabajo. ¿Cómo se lograría esto?

información relacionada