我成功地创建了两个网络名称空间(ns1和ns2),并通过将它们连接起来。它们可以很好地相互切换,甚至可以将ssh转换为另一个(前提是我启动了sshd)。
我现在想要做的是在ns1中启动一些进程(比如vi),这些进程是看不见的,或者至少不能从ns2中修改/删除。这有可能吗?
我试着用
unshare -p vi在ns1上,但它仍然可以被ns2杀死。我可以理解它是从全局/默认网络命名空间中杀死的,因为它是从全局/默认网络命名空间派生的,但是ns2不应该能够杀死ns1内部的进程。至少这是我想要达到的。任何帮助都将不胜感激。
发布于 2016-06-19 23:26:51
关于linux名称空间,您需要了解几件事。
如果希望停止用户进程之间的相互查看,则作业的工具是"pid命名空间“。
我建议您查看类似于lxc的内容,它与cgroup一起使用不同的命名空间类型来生成孤立的环境。
发布于 2018-06-12 20:28:06
Linux网络名称空间与Linux PID命名空间不同,我们需要明确区分它们,因为它们隔离了完全不同的系统/OS资源集。
现在,进程被称为具有名称空间的加入或再社交,例如特定的网络命名空间和另一个特定的PID命名空间。进程总是与许多名称空间相关联,但只与每种类型中的一种(网络、挂载、PID、用户、.)相关联。
当您谈到“终止进程”时,这一点根本不适用于网络命名空间,因为网络名称空间提供IP堆栈、网络接口、地址配置、路由配置等的隔离.。
因此,当涉及到“查看”和终止进程时,这是一个访问权限和PID空间的问题,因此这与PID命名空间相关。当涉及到在挂载命名空间中看到它们时,“查看”也可能与/proc相关。
https://unix.stackexchange.com/questions/265028
复制相似问题