Mi kernel de Linux debe haber sido configurado con espacios de nombres de usuario cuando se creó, pero su uso está restringido después del arranque y debe habilitarse explícitamente. ¿Qué sistema debo usar?
(Si esto estuviera activado, permitiría ejecutar un comando de aislamiento como unshare --user --map-root-user --mount-proc --pid --fork
y luego ejecute chroot
sin ser root, una característica muy esperada de Linux).
Respuesta aceptada:
Se sabe que Debian (y, por lo tanto, probablemente también Ubuntu) incluye un kernel con tal restricción de espacios de nombre de usuario, y la forma de habilitarlo era/es:
sysctl -w kernel.unprivileged_userns_clone=1
(Fuente:https://blog.mister-muffin.de/2015/10/25/unshare-without-superuser-privileges/.)
ALT también tiene una restricción de este tipo en kernel-image-std-def. A diferencia de Debian, se llama kernel.userns_restrict
.
Normalmente, es 1 (es decir, "restringido"):
$ cat /proc/sys/kernel/userns_restrict
1
Para habilitar esto, echo 0 > /proc/sys/kernel/userns_restrict
(o use sysctl
como arriba, por supuesto).