Sen*_*det 30 debian linux-kernel
我想弄清楚如何在我的内核中启用用户命名空间功能(我认为是 CAP_SYS_USER_NS)。我正在使用 Debian Stretch,内核 4.6.0-1-amd64。
我的假设是有一种方法可以打开用户命名空间并重新编译内核。经过几个小时的搜索,我可以在 Ubuntu ( https://blog.tutum.co/2013/12/14/enabling-the-user-namespace-in-ubuntu-13-10-saucy/ ) 但不是 Debian(问题可能是我走错了路,所以我的搜索偏离了基础)。
我的最终目标是启用这些以跟上显然需要在内核中启用用户命名空间的 Docker 和 Google 沙箱(例如,我的 Chrome 容器不再工作)。
A.B*_*A.B 44
在 Debian 上,默认情况下禁用从非特权进程(通常意味着非 root 用户)创建或处理用户命名空间的能力。内核有一个特定于Debian 的补丁(来自 Ubuntu),它添加了 sysctl 旋钮kernel.unprivileged_userns_clone(默认值为 0 表示disabled)。
要启用它(直到下次重新启动),
sudo sysctl -w kernel.unprivileged_userns_clone=1
Run Code Online (Sandbox Code Playgroud)
对于永久配置,您可以添加一个新条目/etc/sysctl.d以在启动时启用该功能:
echo 'kernel.unprivileged_userns_clone=1' > /etc/sysctl.d/00-local-userns.conf
service procps restart
Run Code Online (Sandbox Code Playgroud)
此补丁早于(三年)sysctl user.max_user_namespaces(最初userns.max_user_namespaces),可以将其设置为 0 以实现相同的结果。它可能是出于(Debian)兼容性原因而保留的:默认情况下禁用该功能。
从最初的提交消息开始,它是(在 2013 年)作为临时措施创建的,当时对与使用用户命名空间相关的安全隐患有一些疑问:
添加 sysctl 以默认禁止非特权 CLONE_NEWUSER
这是一个短期补丁。CLONE_NEWUSER 的非特权使用当然是用户命名空间的预期功能。然而,至少为了俏皮,我们想确保,如果发现任何安全问题,我们有一个故障安全。
| 归档时间: |
|
| 查看次数: |
56874 次 |
| 最近记录: |