unprivileged_userns_clone 没有这样的

phi*_*ppe 2 debian lxc

我正在尝试在 Jessie Debian 物理服务器(4.9.135 内核)上按照Debian Wiki 中的说明设置非特权 LXC 容器。因此,我想启用userns命名空间:

sysctl kernel.unprivileged_userns_clone=1
sysctl: cannot stat /proc/sys/kernel/unprivileged_userns_clone: No such file or directory
Run Code Online (Sandbox Code Playgroud)

但是,此内核已编译为支持用户命名空间,如下所示:

zgrep CONFIG_USER /proc/config.gz 
CONFIG_USER_NS=y
Run Code Online (Sandbox Code Playgroud)

我已经运行lxc-checkconfigwhich 显示enabled了每个项目,除了checkpoint restore: missing似乎与用户命名空间无关的项目:

--- Namespaces ---
User namespace: enabled
--- Checkpoint/Restore ---
checkpoint restore: missing
Run Code Online (Sandbox Code Playgroud)

谷歌搜索对理解这个错误没有多大帮助......谁能帮我解决这个问题?不要犹豫,询问可能丢失的任何信息......

Mic*_*ton 5

Debian wiki 中提到的 sysctl 在 Linux 内核中不存在。

它在 Debian 内核中的 Debian 维护补丁中提供,其明确目的是禁用用户命名空间,直到通过设置 sysctl 明确启用它们。

这个 Debian 特定的补丁已被Linux 内核开发人员拒绝

因为您没有使用 Debian 提供的内核,所以用户命名空间始终处于启用状态,您无需设置 sysctl 来打开它们。您可以简单地跳过此步骤。


对于检查点/恢复,安装 criu 并运行criu check. 它会告诉您仍然缺少什么(如果有的话)。