unprivileged_userns_clone没有这样的

unprivileged_userns_clone没有这样的

我正在尝试设置非特权 LXC 容器,如Debian 维基在 Jessie Debian 物理服务器(4.9.135 内核)上。因此,我想启用userns命名空间:

sysctl kernel.unprivileged_userns_clone=1
sysctl: cannot stat /proc/sys/kernel/unprivileged_userns_clone: No such file or directory

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

zgrep CONFIG_USER /proc/config.gz 
CONFIG_USER_NS=y

我已经运行了lxc-checkconfig显示enabled所有项目的程序,除了checkpoint restore: missing似乎与用户命名空间无关的程序:

--- Namespaces ---
User namespace: enabled
--- Checkpoint/Restore ---
checkpoint restore: missing

谷歌搜索对理解此错误没有多大帮助...有人能帮我解决这个问题吗?如果缺少任何信息,请不要犹豫...

答案1

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

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

这个 Debian 专用补丁已经拒绝由 Linux 内核开发人员编写。

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


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

相关内容