Moje linuxové jádro muselo být při sestavování nakonfigurováno s user_namespaces, ale jejich použití je po spuštění omezeno a musí být explicitně povoleno. Který sysctl bych měl použít?
(Pokud by toto bylo zapnuto, umožnilo by to spustit příkaz izolace jako unshare --user --map-root-user --mount-proc --pid --fork
a poté proveďte chroot
aniž byste byli root – velmi očekávaná funkce Linuxu.)
Přijatá odpověď:
O Debianu (a tedy pravděpodobně i Ubuntu) je známo, že dodává jádro s takovým omezením user_namespaces, a způsob, jak to povolit, byl/je:
sysctl -w kernel.unprivileged_userns_clone=1
(Zdroj:https://blog.mister-muffin.de/2015/10/25/unshare-without-superuser-privileges/.)
ALT má takové omezení také v kernel-image-std-def. Na rozdíl od Debianu se nazývá kernel.userns_restrict
.
Normálně je to 1 (tj. „omezeno“):
$ cat /proc/sys/kernel/userns_restrict
1
Chcete-li to povolit, echo 0 > /proc/sys/kernel/userns_restrict
(nebo použijte sysctl
jako výše, samozřejmě).