如何在 Linux 机器外部访问命名空间内部的文件?

如何在 Linux 机器外部访问命名空间内部的文件?

我在 Linux 系统中创建了网络命名空间“BLUE_NAME”,需要访问位于命名空间(主机)之外的 BLUE_NAME 网络空间中的 /var/tmp 文件。请您提供建议。

答案1

网络命名空间本身创建了抽象网络相关组件拥有列表设备、路由表、防火墙规则。

网络命名空间不影响文件系统。

但是当我们创建命名空间并在命名空间中运行任何实用程序时,这些实用程序将以 root 用户身份运行,因此我们可以从需要的用户运行实用程序。<- 注意这一点,我很早就在命名空间内运行了几次 chrome*,想知道我的设置在哪里。

试试这个:

#add namespace test
sudo ip netns add test

#run bash inside namespace, be carefull now you become root
sudo ip netns exec test /bin/bash

#create file in tmp "don't do this in scripts, in scripts use mktemp"
touch /tmp/test_from_namespace

从命名空间内的 bash 退出并销毁命名空间

#destroy namespace
sudo ip netns del test

然后像往常一样尝试在 /tmp 中列出用户文件,您会看到创建的文件

相关内容