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

歡迎訪問 生活随笔!

生活随笔

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

linux

linux命名空间(namespace)学习(一)

發布時間:2023/12/18 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux命名空间(namespace)学习(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于linux命名空間網絡上有很多是關于docker 的,也有關于linux的專門的linux的namespace介紹的,沒有專門介紹Linux命名空間的應用的。所以我想先介紹一下linux命名空間的應用,然后再介紹linux內核對于命名空間的管理方式。好了,廢話不多說先上原理吧。
命名空間在linux中是實現資源隔離的一種手段,也是輕量級虛擬化的一種手段??梢詫崿F多個用戶,也可以實現多個網絡設備訪問(虛擬化網絡),但是實體網絡卻只有一個。資源隔離意味著比如不通PID命名空間看到的PID進程是不一樣的,不通命名空間看到的IPC通信是不一樣的。
命名空間分類:

1. UTS命名空間2.IPC命名空間;3.PID命名空間;4.文件命名空間;5.網絡命名空間;6.用戶命名空間;

本博客會先在用戶用戶命名空間的使用方式上介紹前四種命名空間;
代碼如下:
<ipc_clone.c>

#define _GNU_SOURCE #include <sys/types.h> #include <sys/wait.h> #include <stdio.h> #include <stdlib.h> #include <signal.h> #include <unistd.h> #include <sched.h> #define STACK_SIZE (1024*1024)static char container_stack[STACK_SIZE]; const char * args = "/bin/bash";int contain_func(void * arg) {printf("this is in %s, and pid : %d \n", __func__, getpid());sethostname("alexander", 10);system("mount -t proc proc /proc");execv(args, arg);printf("this is in %s end\n", __func__);return 1; }int main(void) {int clone_pid = clone(contain_func, container_stack + STACK_SIZE,CLONE_NEWPID | CLONE_NEWUTS| CLONE_NEWIPC|CLONE_NEWNS |SIGCHLD , NULL);waitpid(clone_pid, NULL, 0);printf("this is in %s\n", __func__);return 0; }

**

UTS命名空間

**
操作如下:
1.啟動UTS命名空間進程,在進程內把UTS的名字命名為alexander;
2.在進程內啟動了bash進程,查看子進程UTS命名空間,為alexander;
3.退出子進程,子命名空間不存在;
4.查看主命名空間,為系統的hostname(ubuntu)
結果如下:

root@ubuntu:/usr/src/linux-2.6.39/driver/namespace/clone# gcc ipc_clone.c -o clone root@ubuntu:/usr/src/linux-2.6.39/driver/namespace/clone# ./clone this is in contain_func, and pid : 1 root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# hostname alexander root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# exit exit this is in main root@ubuntu:/usr/src/linux-2.6.39/driver/namespace/clone# hostname ubuntu root@ubuntu:/usr/src/linux-2.6.39/driver/namespace/clone#

**

IPC命名空間

**
操作過程如下:

1. 啟動子進程命名空間;2. 在子進程命名空間中創建IPC通道;3. 在子進程中再啟動一個子進程,并查看IPC;4. 子命名空間的子命名空間中查看不到上一層命名空間中的IPC通信;

操作如下:

root@ubuntu:/usr/src/linux-2.6.39/driver/namespace/clone# ./clone this is in contain_func, and pid : 1 root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# ipcs -q------ Message Queues -------- key msqid owner perms used-bytes messages root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# ipcmk -Q Message queue id: 0 root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# ipcs -q------ Message Queues -------- key msqid owner perms used-bytes messages 0x5f9a3379 0 root 644 0 0 root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# ./clone this is in contain_func, and pid : 1 root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# ipcs -q------ Message Queues -------- key msqid owner perms used-bytes messages root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# exit exit this is in main root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# ipcs -q------ Message Queues -------- key msqid owner perms used-bytes messages 0x5f9a3379 0 root 644 0 0 root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# ipcrm 0x5f9a3379 ipcrm: unknown argument: 0x5f9a3379 usage: ipcrm [ [-q msqid] [-m shmid] [-s semid][-Q msgkey] [-M shmkey] [-S semkey] ... ] root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# ipcrm -Q 0x5f9a3379 root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# ipcs -q------ Message Queues -------- key msqid owner perms used-bytes messages root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# exit exit this is in main

**

PID命名空間

**
操作過程如下:

1.啟動子進程命名空間; 2.查看子進程命名空間中的進程; 3.查看子進程命名空間中的proc文件系統

操作如下:

root@ubuntu:/usr/src/linux-2.6.39/driver/namespace/clone# ./clone this is in contain_func, and pid : 1 root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.5 0.0 5748 1956 pts/15 S 04:35 0:00 [bash] root 13 0.0 0.0 5216 1144 pts/15 R+ 04:35 0:00 ps aux root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 04:35 pts/15 00:00:00 [bash] root 14 1 0 04:35 pts/15 00:00:00 ps -ef root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# ls /proc/ 1 cgroups diskstats fs kallsyms kpageflags misc pagetypeinfo slabinfo sysvipc version_signature 15 cmdline dma interrupts kcore latency_stats modules partitions softirqs timer_list vmallocinfo acpi consoles driver iomem keys loadavg mounts sched_debug stat timer_stats vmstat asound cpuinfo execdomains ioports key-users locks mpt schedstat swaps tty zoneinfo buddyinfo crypto fb ipmi kmsg mdstat mtrr scsi sys uptime bus devices filesystems irq kpagecount meminfo net self sysrq-trigger version root@alexander:/usr/src/linux-2.6.39/driver/namespace/clone# exit exit this is in main

**

總結

**

上述子命名空間中的操作主要由如下關鍵宏操作:
CLONE_NEWPID:創建PID命名空間
CLONE_NEWUTS:創建UTS命名空間;
CLONE_NEWIPC:創建新的IPC命名空間;
CLONE_NEWNS:創建新的文件系統命名空間;
注意:
在創建新的IPC命名空間過程中必須指定創建文件系統命名空間,并且掛載新的proc文件系統,否則會使用上一層命名空間中的proc文件系統,這樣顯示的PID(無論是ps 命令還是top命令)就如上一層命名空間中顯示的PID一樣的。

總結

以上是生活随笔為你收集整理的linux命名空间(namespace)学习(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 黄色a区 | 永久免费未满 | 丝袜av在线播放 | 夜久久久| jizz中国女人高潮 | 国产一级全黄 | 女同在线视频 | 日日爱影视 | 少妇荡乳情欲办公室456视频 | 成人作爱视频 | 国产网友自拍 | 后宫秀女调教(高h,np) | 国产农村妇女精品一二区 | 波多野结衣一二区 | 大陆av片 | 欧美三级三级三级爽爽爽 | 欧美日本日韩 | 久草免费在线视频 | 狠狠摸狠狠操 | 日韩欧美视频免费在线观看 | 黑人黄色一级片 | 国产精品嫩 | 中文字幕在线观看视频一区 | 芒果视频在线观看免费 | 51成人网| 日本乳汁视频 | 国产区福利 | 欧美美女一区二区三区 | 日本一级吃奶淫片免费 | 4438x在线观看 | 成人免费xxxxx在线观看 | 四虎免费网址 | 日本免费a视频 | 色播基地 | 国产午夜精品无码一区二区 | 欧美18免费视频 | 亚洲小说网 | 综合激情伊人 | 91情侣视频 | 色香蕉影院 | 男女午夜视频 | 久久亚洲精 | 人妻巨大乳一二三区 | 久久av导航 | av在线免费观看不卡 | 久久人人爽人人爽人人av | 午夜在线视频免费观看 | 草莓视频在线观看入口w | 久久精品电影网 | 国产天堂网 | 51吃瓜网今日 | 久久国产精品精品国产色婷婷 | 男男h黄动漫啪啪无遮挡软件 | 国产欧美又粗又猛又爽 | 激情 小说 亚洲 图片 伦 | 久久99久久99精品 | 欧美资源在线观看 | 四虎首页 | 国模私拍在线 | 亚洲国产日韩欧美一区二区三区 | 凹凸精品熟女在线观看 | 黄色三级在线播放 | 在线亚洲人成电影网站色www | 无码国模国产在线观看 | 美女bb视频| 成人免费网视频 | 男人的天堂在线视频 | 久久精品无码一区二区三区毛片 | 国产三级视频在线播放 | 非洲黑妞xxxxhd精品 | 国产又粗又大又爽视频 | av成人免费观看 | 91黄色视屏 | 97视频网站 | 一本色道综合久久欧美日韩精品 | 日韩视频在线免费播放 | www.国产成人 | 亚洲欧美日韩视频一区 | 色综合综合网 | 一本久道综合色婷婷五月 | 日韩黄色三级 | av免费播放网站 | 爱爱二区| 五月天免费网站 | 日韩色婷婷| 亚洲一级黄色片 | 男男肉耽高h彩漫 | 日韩精品一区二区三区四区五区 | 国产福利观看 | 三级视频网站 | 樱花视频在线观看 | 色av中文字幕 | 国产精品色哟哟 | 欧美亚洲不卡 | 美女啪啪网址 | 国产伦精品一区二区三区在线观看 | 91国产视频在线 | 91福利社在线观看 | 国内自拍视频在线播放 |