GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Wie aktiviere ich User_namespaces im Kernel? (für Unprivilegiertes `unshare`.)?

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).


Linux
  1. Kontinuierliche Integrationstests für den Linux-Kernel

  2. So aktivieren Sie die IP-Weiterleitung unter Linux

  3. Linux – Finden Sie den Linux-Treiber für Kopfhörer im Kernel-Baum?

  4. So verwenden Sie kdump für die Linux-Kernel-Crash-Analyse

  5. Wie kann ich einen Speicherblock aus dem Linux-Kernel reservieren?

Wie man einen Linux-Kernel im 21. Jahrhundert kompiliert

So überprüfen Sie die Kernel-Version in Linux

Sysctl-Befehl unter Linux

So aktivieren Sie passwortloses Sudo für Benutzer in Linux

Wie deaktiviere ich die SSH-Anmeldung für den Root-Benutzer in Linux?

Wie lädt Linux das 'initrd'-Image?