Como habilitar user_namespaces no kernel? (Para "compartilhamento não compartilhado" não privilegiado.)

3

Meu kernel Linux deve ter sido configurado com user_namespaces quando criado, mas seu uso é restrito após a inicialização e deve ser explicitamente habilitado. Qual sysctl devo usar?

(Se isso estiver ativado, isso permitirá executar um comando de isolamento como unshare --user --map-root-user --mount-proc --pid --fork e, em seguida, executar chroot sem ser root - uma característica muito esperada do Linux.

    
por imz -- Ivan Zakharyaschev 13.08.2016 / 18:37

1 resposta

6

O Debian (e provavelmente o Ubuntu também) é conhecido por enviar um kernel com tal restrição de user_namespaces, e lá o caminho para habilitá-lo era / is:

sysctl -w kernel.unprivileged_userns_clone=1

(Fonte: link .)

ALT tem essa restrição em kernel-image-std-def também. Diferentemente do Debian, é chamado kernel.userns_restrict .

Normalmente, é 1 (ou seja, "restrito"):

$ cat /proc/sys/kernel/userns_restrict 
1

Para ativar isso, echo 0 > /proc/sys/kernel/userns_restrict (ou use sysctl como acima, é claro).

    
por 13.08.2016 / 18:37