Il mio kernel Linux deve essere stato configurato con user_namespaces al momento della compilazione, ma il loro utilizzo è limitato dopo l'avvio e deve essere abilitato in modo esplicito. Quale sysctl dovrei usare?
(Se fosse attivato, ciò consentirebbe di eseguire un comando di isolamento come unshare --user --map-root-user --mount-proc --pid --fork
, quindi esegui chroot
senza essere root, una caratteristica molto attesa di Linux.)
Risposta accettata:
Debian (e quindi probabilmente anche Ubuntu) è noto per fornire un kernel con una tale restrizione di user_namespaces, e lì il modo per abilitarlo era/è:
sysctl -w kernel.unprivileged_userns_clone=1
(Fonte:https://blog.mister-muffin.de/2015/10/25/unshare-without-superuser-privileges/.)
ALT ha una tale restrizione anche in kernel-image-std-def. Diversamente da Debian, si chiama kernel.userns_restrict
.
Normalmente è 1 (ovvero "limitato"):
$ cat /proc/sys/kernel/userns_restrict
1
Per abilitarlo, echo 0 > /proc/sys/kernel/userns_restrict
(o usa sysctl
come sopra, ovviamente).