nsenter

nsenter也可以进入mnt, uts, ipc, pid, user命令空间,以及指定根目录和工作目录。



nsenter [options] [program [arguments]]



options:
-t, –target pid:指定被进入命名空间的目标进程的pid
-m, –mount[=file]:进入mount命令空间。如果指定了file,则进入file的命令空间
-u, –uts[=file]:进入uts命令空间。如果指定了file,则进入file的命令空间
-i, –ipc[=file]:进入ipc命令空间。如果指定了file,则进入file的命令空间
-n, –net[=file]:进入net命令空间。如果指定了file,则进入file的命令空间
-p, –pid[=file]:进入pid命令空间。如果指定了file,则进入file的命令空间
-U, –user[=file]:进入user命令空间。如果指定了file,则进入file的命令空间
-G, –setgid gid:设置运行程序的gid
-S, –setuid uid:设置运行程序的uid
-r, –root[=directory]:设置根目录
-w, –wd[=directory]:设置工作目录



如果没有给出program,则默认执行$SHELL。

https://staight.github.io/2019/09/23/nsenter%E5%91%BD%E4%BB%A4%E7%AE%80%E4%BB%8B/



namespace是Linux中一些进程的属性的作用域,使用命名空间,可以隔离不同的进程。



Linux在不断的添加命名空间,目前有:



mount:挂载命名空间,使进程有一个独立的挂载文件系统,始于Linux 2.4.19
ipc:ipc命名空间,使进程有一个独立的ipc,包括消息队列,共享内存和信号量,始于Linux 2.6.19
uts:uts命名空间,使进程有一个独立的hostname和domainname,始于Linux 2.6.19
net:network命令空间,使进程有一个独立的网络栈,始于Linux 2.6.24
pid:pid命名空间,使进程有一个独立的pid空间,始于Linux 2.6.24
user:user命名空间,是进程有一个独立的user空间,始于Linux 2.6.23,结束于Linux 3.8
cgroup:cgroup命名空间,使进程有一个独立的cgroup控制组,始于Linux 4.6
Linux的每个进程都具有命名空间,可以在/proc/PID/ns目录中看到命名空间的文件描述符。



https://www.cnblogs.com/Wshile/p/12596617.html


Category linux