
私のLinuxカーネルは次のように設定する必要があります。ユーザーネームスペースただし、起動後は使用が制限され、明示的に有効にする必要があります。どのsysctlを使用する必要がありますか?
(この機能を有効にすると、隔離コマンドを実行できます。たとえば、次のunshare --user --map-root-user --mount-proc --pid --fork
コマンドを実行できます。chroot
ルートである必要はありません- Linuxの非常に期待される機能です。 )
答え1
Debian ベースの Linux
Debian (したがって Ubuntu) はカーネルをリリースする際に user_namespaces にこの制限を設けることが知られており、これを有効にする方法は次のとおりです。
sysctl -w kernel.unprivileged_userns_clone=1
(源泉:https://blog.mister-muffin.de/2015/10/25/unshare-without-superuser-privileges/.)
カーネル 5.10 (Debian 11/bullseye) から Debianデフォルトで有効になっている権限のないユーザー名前空間;まだ無効になっている場合は、sysctlも確認してくださいuser.max_user_namespaces
(これとは異なり、kernel.unprivileged_userns_clone
Debianに固有のものではありません)。
ALT-Linuxのみ
ALTにはこれらの制限があります。カーネルイメージ標準の定義、また。 Debianとは異なりkernel.userns_restrict
。
通常は1です(つまり、「制限付き」)。
$ cat /proc/sys/kernel/userns_restrict
1
この機能を有効にするにはecho 0 > /proc/sys/kernel/userns_restrict
(またはsysctl
上記のように使用してください)。