uts namespace

112 阅读1分钟

uts namespace 所能隔离的资源是什么

  1: 系统的 hostname

   2: NIS domain name (这个不常用到,暂时不谈)

uts namespace 的实质 

自己理解:uts namespace 隔离 就是创建一个新的namespace结构体, 结构体之中有一个字段,存储hostname 的值。进程结构体 会有 namespace 的引用字段,因此 进程 可以与 namespace 建立联系。

uts namespace 实验

目的

     验证 uts namespace 的功能(隔离hostname)

步骤

   1:创建一个进程 使用uts隔离

         unshare -u /bin/bash

    2:设置当前进程的hostname

         hostname xxx

     3:查看当前进程的uts namespace之中所包含的hostname

         hostname

     4:重新建立一个连接,查看当前 进程的uts namespace之中所包含的hostname

     5:对比两者的hostname值,验证hostname 隔离

问题:

 1: 执行hostname,获取主机的hostname,背后会发生什么?

     进程的 uts namespace 会保留 hostname 的值,会从这里获取 hostname。

    服务器启动的时候,首先是从/etc/hostname 之中读取服务器的主机域名,加载到内存之中的。

  2: 进程与 uts namespace 之间的关系?

      进程结构体 有一个属性字段 存储着与 namespace 之间的关系。