我在 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 中列出用户文件,您会看到创建的文件