私のLinuxカーネルは、ビルド時にuser_namespacesで構成されている必要がありますが、ブート後の使用は制限されており、明示的に有効にする必要があります。どのsysctlを使用する必要がありますか?
(これをオンにすると、unshare --user --map-root-user --mount-proc --pid --fork
のような分離コマンドを実行できるようになります。 、次にchroot
を実行します ルートではなく、Linuxの待望の機能です。)
承認された回答:
Debian(したがっておそらくUbuntuも)は、user_namespacesのそのような制限を備えたカーネルを出荷することが知られており、それを有効にする方法は次のとおりです。
sysctl -w kernel.unprivileged_userns_clone=1
(出典:https://blog.mister-muffin.de/2015/10/25/unshare-without-superuser-privileges/)
ALTには、kernel-image-std-defにもそのような制限があります。 Debianとは異なり、kernel.userns_restrict
と呼ばれます 。
通常は1です(つまり、「制限付き」):
$ cat /proc/sys/kernel/userns_restrict
1
これを有効にするには、echo 0 > /proc/sys/kernel/userns_restrict
(またはsysctl
を使用します もちろん、上記のように)。