日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux namespace之:uts namespace

發布時間:2025/3/8 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux namespace之:uts namespace 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

理解uts namespace

uts(UNIX Time-Sharing System) namespace可隔離hostname和NIS Domain name資源,使得一個宿主機可擁有多個主機名或Domain Name。換句話說,可讓不同namespace中的進程看到不同的主機名。

例如,使用unshare命令(較新版本Linux內核還支持nscreate命令)創建一個新的uts namespace:

#?-u或--uts表示創建一個uts?namespace #?這個namespace中運行/bin/bash程序 $?hostname longshuai-vm??????#?當前root?namespace的主機名為longshuai-vm $?sudo?unshare?-u?/bin/bash root@longshuai-vm:/home/longshuai#???#?進入了新的namespace中的shell#?其主機名初始時也是longshuai-vm,#?其拷貝自上級namespace資源

上面指定運行的是/bin/bash程序,這會進入交互式模式,當執行exit時,bash退出,回到當前的namespace中。也可以指定在namespace中運行其他程序,例如unshare -u sleep 3表示在uts namespace中睡眠3秒后退出并回到當前namespace。

因為是uts namespace,所以可在此namespace中修改主機名:

#?修改該namespace的主機名為ns1 #?修改后會立即生效,但不會顯示在當前Shell提示符下 #?需重新加載Shell環境 root@longshuai-vm:/home/longshuai#?hostname?ns1 root@longshuai-vm:/home/longshuai#?hostname ns1 root@longshuai-vm:/home/longshuai#?exec?$SHELL root@ns1:/home/longshuai#

namespace中修改的主機名不會直接修改主機名配置文件(如/etc/hostname),而是修改內核屬性/proc/sys/kernel/hostname:

root@ns1:/home/longshuai#?cat?/proc/sys/kernel/hostname ns1 root@ns1:/home/longshuai#?cat?/etc/hostname? longshuai-vm

創建了新的namespace并在其中運行/bin/bash進程后,再去關注一下進程關系:

#?ns1中的bash進程PID root@ns1:/home/longshuai#?echo?$$ 14279#?bash進程(PID=14279)和grep進程運行在ns1?namespace中, #?其父進程sudo(PID=14278)運行在ns1的上級namespace即root?namespace中 root@ns1:/home/longshuai#?pstree?-p?|?grep?$$|-sshd(10848)---bash(10850)---sudo(14278)---bash(14279)-+-grep(14506)#?運行在ns1中當前bash進程(PID=14279)的namespace root@ns1:/home/longshuai#?ls?-l?/proc/14279/ns lrwxrwxrwx?...?cgroup?->?'cgroup:[4026531835]' lrwxrwxrwx?...?ipc?->?'ipc:[4026531839]' lrwxrwxrwx?...?mnt?->?'mnt:[4026531840]' lrwxrwxrwx?...?net?->?'net:[4026531992]' lrwxrwxrwx?...?pid?->?'pid:[4026531836]' lrwxrwxrwx?...?pid_for_children?->?'pid:[4026531836]' lrwxrwxrwx?...?user?->?'user:[4026531837]' lrwxrwxrwx?...?uts?->?'uts:[4026532588]'??#?注意這一行,和sudo進程的uts?inode不同#?父進程sudo(PID=14278)不在ns1中,它的namespace信息 root@ns1:/home/longshuai#?ls?-l?/proc/14278/ns lrwxrwxrwx?...?cgroup?->?'cgroup:[4026531835]' lrwxrwxrwx?...?ipc?->?'ipc:[4026531839]' lrwxrwxrwx?...?mnt?->?'mnt:[4026531840]' lrwxrwxrwx?...?net?->?'net:[4026531992]' lrwxrwxrwx?...?pid?->?'pid:[4026531836]' lrwxrwxrwx?...?pid_for_children?->?'pid:[4026531836]' lrwxrwxrwx?...?user?->?'user:[4026531837]' lrwxrwxrwx?...?uts?->?'uts:[4026531838]'???#?注意這一行,和PID=1的uts?inode相同

回到創建uts namespace時敲下的unshare命令:

sudo?unshare?-u?/bin/bash

從進程關系...---sudo(14278)---bash(14279)可知兩個進程PID是連續的,說明unshare程序對應的進程被/bin/bash程序通過execve()替換了。

詳細的過程如下:「sudo進程運行在當前namespace中,它將fork一個新進程來運行unshare程序,unshare程序加載完成后,將創建一個新的uts namespace,unshare進程自身將加入到這個uts namespace中,unshare進程內部再exec加載/bin/bash,于是unshare進程被替換為/bin/bash進程,/bin/bash進程也將運行在uts namespace中」

當namespace中的/bin/bash進程退出,該namespace中將沒有任何進程,該namespace將自動銷毀。注意,在默認情況下,namespace中必須要有至少一個進程,否則將被自動被銷毀。但也有一些手段可以讓namespace持久化,即使已經沒有任何進程在其中運行。

如果在ns1中再創建一個namespace ns2,這個ns2初始時將共享ns1的其他資源并拷貝ns1的主機名資源,其初始主機名也為ns1。

$?sudo?unshare?-u?/bin/bash????#?在root?namespace環境下創建一個namespace root@longshuai-vm:/home/longshuai#?hostname?ns1?#?修改主機名為ns1 root@longshuai-vm:/home/longshuai#?hostname ns1#?在ns1中創建一個namespace ############?注意沒有sudo root@longshuai-vm:/home/longshuai#?unshare?-u?/bin/bash? root@ns1:/home/longshuai#?hostname????#?初始主機名拷貝自上級namespace的主機名ns1 ns1 root@ns1:/home/longshuai#?hostname?ns2 root@ns1:/home/longshuai#?hostname??#?修改主機名為ns2 ns2 root@ns1:/home/longshuai#?exit exitroot@longshuai-vm:/home/longshuai#?hostname??#?ns2修改主機名不影響ns1 ns1 root@longshuai-vm:/home/longshuai#?exit exit[~]->$?hostname??????#?ns1修改主機名不影響root?namespace longshuai-vm

注意,即使root namespace當前用戶為longshuai,但因為使用了sudo創建ns1,進入ns1后其用戶名為root,所以在ns1中執行unshare命令創建新的namespace不需要再使用sudo。

$?echo?$USER??????#?當前root?namespace的用戶為longshuai longshuai$?sudo?unshare?-u?/bin/bash root@longshuai-vm:/home/longshuai#?echo?$USER??#?ns中的用戶名變為root root root@longshuai-vm:/home/longshuai#?id;echo?$HOME;echo?~ uid=0(root)?gid=0(root)?groups=0(root) /root /root

總結

以上是生活随笔為你收集整理的Linux namespace之:uts namespace的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲乱码国产乱码精品精98午夜 | 国产伦精品一区二区三区照片91 | 成人污在线 | 免费观看的av网站 | 久久久精品人妻无码专区 | 自拍偷拍色 | 福利在线网站 | 日韩欧洲亚洲AV无码精品 | 黄色视屏软件 | 好吊妞在线观看 | 麻豆md0077饥渴少妇 | 欧美成人播放 | 宅男深夜视频 | 1024手机看片国产 | 美日韩精品一区二区 | 免费看国产曰批40分钟粉红裤头 | 绯色av蜜臀vs少妇 | 欧美成人三级在线播放 | 老司机性视频 | 一级全黄裸体免费视频 | 免费成人高清 | www日本高清视频 | 国产福利免费视频 | 亚洲欧美一区二区三区情侣bbw | 韩国三级av | 美梦视频大全在线观看高清 | 成人尹人| 粉嫩av一区二区三区天美传媒 | 免费精品视频一区二区三区 | 对白刺激国产子与伦 | 亚洲熟女乱综合一区二区三区 | 日韩视频一 | 奇米狠狠777| 少妇高潮一区二区三区四区 | 嫩草视频在线观看视频 | 真实的国产乱xxxx在线 | 免费拍拍拍网站 | av基地 | 国产日本欧美在线 | 中文字幕欧美在线观看 | 深夜成人福利视频 | 欧洲一二三区 | 深夜影院深a | 玖玖精品| 亚洲婷婷在线观看 | 不卡视频国产 | 欧美激情五月 | 亚洲欧美综合另类自拍 | 狠狠狠狠狠狠干 | 亚洲天堂二区 | 欧美午夜激情视频 | 538任你躁在线精品免费 | 野花成人免费视频 | 国产亚洲色婷婷久久 | 精品一区二区三区电影 | 伊人网综合网 | 久久久精品视频网站 | 欧美激情图片 | 双性人妖互交localhost | 少妇一夜三次一区二区 | 777精品伊人久久久久大香线蕉 | av片一区二区 | 朝鲜美女黑毛bbw | 中文日韩在线观看 | 自拍 亚洲 欧美 | 98久久久 | 色天堂在线视频 | 天堂网在线观看 | xxxxxx国产 | 国产黑丝精品 | 在线精品亚洲欧美日韩国产 | 欧美俄罗斯乱妇 | 国家队动漫免费观看在线观看晨光 | 久久精品国产大片免费观看 | 韩国激情呻吟揉捏胸视频 | 在线看片你懂得 | 蜜臀av性久久久久蜜臀aⅴ麻豆 | 99免费视频 | 国产精品一级黄片 | 国外精品视频 | 国产欧美专区 | 一区二区国产精品视频 | 午夜a视频 | 亚洲 美腿 欧美 偷拍 | 久久久久久久久久久久久女过产乱 | 不良视频在线观看 | 成人香蕉网 | 特级一级片| 老牛影视av一区二区在线观看 | 成人涩涩 | 特级毛片在线观看 | 国产精品无遮挡 | av大片在线播放 | 九九热视 | 激情五月婷婷网 | 久久久久久av无码免费网站下载 | 这里只有精品视频在线观看 | 亚洲天堂av中文字幕 | 天天射天天射天天射 |