首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在LXC中实现chroot转义保护

如何在LXC中实现chroot转义保护
EN

Stack Overflow用户
提问于 2014-05-27 14:03:06
回答 1查看 1.6K关注 0票数 1

LXC中的chroot转义保护是如何实现的?有没有保证没有办法从lxc容器逃脱到主机?

我知道,linux-vserver使用chroot- part来实现这一点,但它不是普通内核的一部分。

EN

回答 1

Stack Overflow用户

发布于 2014-05-28 19:39:11

您是否看到了“应用挂载名称空间”文章中包含的信息:http://www.ibm.com/developerworks/library/l-mount-namespaces/

在"Per-user root“部分下:

“这种方法的一个缺点是可以转义普通的chroot(),尽管需要一些特权。例如,当使用包括CAP_SYS_CHROOT在内的某些功能执行时,程序的源代码突破chroot() (请参阅参考资料)将导致程序转义到真正的文件系统根目录中。根据每个用户文件系统树的实际动机和使用情况,这可能是一个问题。

我们可以通过在私有名称空间中使用pivot_root(2)来解决这个问题,而不是使用chroot(2)将登录的根目录更改为/share/USER/root。chroot()只是将进程的文件系统根目录指向指定的新目录,而pivot_root()将指定的new_root目录(必须是挂载目录)与其挂载点分离,并将其附加到进程根目录。因为挂载树没有新根的父级,所以不能像chroot()那样诱使系统进入它。我们将使用pivot_root()方法。“

简而言之,我见过将pivot_root与mnt名称空间结合使用来缓解这种担忧。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23882087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档