Mein Linux-Kernel muss beim Erstellen mit user_namespaces konfiguriert worden sein, aber ihre Verwendung ist nach dem Booten eingeschränkt und muss explizit aktiviert werden. Welche Sysctl soll ich verwenden?
(Wenn dies aktiviert wäre, würde dies die Ausführung eines Isolationsbefehls wie unshare --user --map-root-user --mount-proc --pid --fork
ermöglichen , und führen Sie dann chroot
aus ohne root zu sein – ein lang erwartetes Feature von Linux.)
Akzeptierte Antwort:
Debian (und daher wahrscheinlich auch Ubuntu) ist dafür bekannt, einen Kernel mit einer solchen Einschränkung von user_namespaces auszuliefern, und dort war/ist der Weg, sie zu aktivieren:
sysctl -w kernel.unprivileged_userns_clone=1
(Quelle:https://blog.mister-muffin.de/2015/10/25/unshare-without-superuser-privileges/.)
ALT hat auch eine solche Einschränkung in kernel-image-std-def. Anders als bei Debian heißt es kernel.userns_restrict
.
Normalerweise ist es 1 (d. h. „eingeschränkt“):
$ cat /proc/sys/kernel/userns_restrict
1
Um dies zu aktivieren, echo 0 > /proc/sys/kernel/userns_restrict
(oder verwenden Sie sysctl
wie oben natürlich).