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 之间的关系。