Fondo:
Quiero probar los contenedores lxc sin privilegios y probar mi pequeño servidor web (que aloja a 2-4 usuarios). Dado que el servidor se comparte entre amigos, decidimos separar nuestros servicios de la máquina mediante contenedores livianos. Prevemos que cada usuario ejecutará una gran cantidad de contenedores no privilegiados para cada servicio suyo con una opción, que los contenedores de servicios / lxc seleccionados se iniciarán al iniciar el sistema.
En circunstancias normales, uno simplemente usaría la stanza setuid
y setgid
para ejecutar los contenedores lxc en el contexto de cada usuario. Desafortunadamente no funciona; Sospecho que tiene algo que ver con los requisitos subuid
de los contenedores sin privilegios. Los comandos como sudo -u <user> -- lxc-autostart
o su -l <user> -c lxc-autostart
no pueden cambiar las propiedades subuid
de la entidad llamante (que es raíz en caso de reinicio).
La pregunta reformulada
Puedo poner dicha invocación en el script upstart, pero para que funcione necesito generar un certificado público para la raíz, y asegurarme de que <user>
acepte el registro automático de upstarts ' root
. ¿Es seguro?
El host es 64bit Ubuntu 14.04; ya usa ssh. En cuanto a las mejores prácticas de Ubuntu, no hay una contraseña para la raíz y la raíz tiene un .ssh/authorized_keys
vacío.
No <user>
con contenedores lxc automáticos utiliza ecryptfs
(A.K.A. encriptado en casa), ya que sería inútil de todos modos en dicha configuración.