linux – kernel:命名空间支持
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – kernel:命名空间支持,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1841字,纯文字阅读大概需要3分钟。
内容图文
![linux – kernel:命名空间支持](/upload/InfoBanner/zyjiaocheng/959/da7ebc148d374b558abf1abd5da3f769.jpg)
我想知道Linux内核中“命名空间支持”功能究竟是什么意思.我正在使用内核3.11.1(此时最新的稳定内核).
如果我决定禁用它,我会注意到我的系统有任何变化吗?
如果某人决定使用命名空间,只需在内核中编译NAMESPACES = Y,还是他还需要用户空间工具?
解决方法:
简而言之,命名空间提供了一种在更大的Linux系统中构建虚拟Linux系统的方法.这与运行作为非特权进程运行的虚拟机不同:虚拟机在主机中显示为单个进程,而在命名空间内运行的进程仍在主机系统上运行.
在较大系统内运行的虚拟系统称为container.容器的概念是容器内运行的进程认为它们是系统中的唯一进程.特别是,容器内的root用户在容器外没有root权限(请注意,这仅适用于最近的内核版本).
命名空间一次虚拟化一个功能.命名空间类型的一些示例是:
> User namespaces – 这使得进程的行为就像它们作为名称空间内外的不同用户一样运行.特别是,在命名空间内作为UID 0运行的进程仅对于在同一命名空间中运行的进程具有超级用户权限.
从Linux内核3.8开始,非特权用户可以创建用户名称空间.这允许普通用户使用为root保留的功能(例如更改路由表或设置功能).
> PID namespaces – PID命名空间内的进程无法终止或跟踪该命名空间之外的进程.
> Mount namespaces – 这允许进程拥有自己的文件系统视图.此视图可以是部分视图,允许隐藏文件系统的某些部分并重新组合部分,以便目录树出现在不同的位置. Mount命名空间概括了传统的Unix功能chroot,它允许将进程限制为特定的子树.
> Network namespaces – 允许分离网络资源(网络设备),从而增强进程隔离.
命名空间依赖于内核来提供名称空间之间的隔离.要做到这一点非常复杂,因此可能仍然存在安全漏洞.安全漏洞的风险是不启用该功能的主要原因.不启用它的另一个原因是当你为嵌入式设备制作一个小内核时.在您安装在典型服务器或工作站上的通用内核中,应该启用名称空间,就像任何其他成熟的内核功能一样.
仍然很少有应用程序使用命名空间.以下是一些:
> LXC已经成熟.它依靠cgroups提供容器.
> virt-sandbox是最近的沙盒项目.
> Chromium的最新版本还在可用的沙盒中使用名称空间.
>用于集群应用程序uses namespaces的uWSGI框架,用于改进沙盒.
有关更多信息,请参见the LWN article series by Michael Kerrisk.
内容总结
以上是互联网集市为您收集整理的linux – kernel:命名空间支持全部内容,希望文章能够帮你解决linux – kernel:命名空间支持所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。