当前位置: 首页 > article >正文

【Linux】mnt命名空间-操作

     先来认识一个命令行工具 unshare。unshare 是 util-linux 工具包中的一个工具,CentOS 7 系统默认已经集成了该工具,使用 unshare 命令可以实现创建并访问不同类型的 Namespace。

    查看所有命名空间,type是命名空间类型

     

Mnt命名空间

  创建一个mnt命名空间

#新建一个 Mount Namespace

root@docker-demo ~]# unshare --mount --fork /bin/bash

这个就创建另一个新进程bash 并且是在一个新的命名空间中,然后继续在这个命令行中执行 mnt操作都是在新的命名空间中操作的。在这个新的命名空间挂载了目录之后 新创建文件,在原主机上看不到。

通过查看当前进程的所有命名空间,看到新进程中 mnt类型的命名空间为: xxx2594

 然后打开另外一个bash 空间查看,

 可以看到两个命名空间是不一样的。

然后回到新的命名空间bash 中。执行命令

mkdir /tmp/tmpfs  创建一个目录

mount -t tmpfs -o size=20m tmpfs /tmp/tmpfs 把此目录挂载到一个内存文件系统中,临时的,退出这个进程之后 这个文件系统挂载点也就没有了

进入tmpfs 目录创建一个文件

touch ee.txt,然后目录下有个文件 ee.txt 然后查看 主机上是否有这个文件

原来主机上的看看,

原主机上创建一个文件 在新的命名空间进程挂载目录下也看不到 

新进程命名空间中:

 没有,说明文件目录进行了隔离。 其他类型的命名空间介绍看: CSDN

 整理的命名空间的一些指令

使用 lsns 命令  查看所有命名空间

ls -l /proc/<PID>/ns  查看特定进程的命名空间

看到两个命名空间是不一样的


http://www.kler.cn/a/377604.html

相关文章:

  • SpringBoot在线教育系统:集成第三方服务
  • 「Mac畅玩鸿蒙与硬件27」UI互动应用篇4 - 猫与灯的互动应用
  • Vue 全局状态管理:Vuex 从入门到精通
  • 【docker】docker 环境配置及安装
  • Optimizing Medical Image Segmentation with Advanced Decoder
  • 如何将钉钉新收款单数据高效集成到MySQL
  • NLP segment-20-分词开源项目介绍 HanLP 未来十年的自然语言处理
  • SpringBoot 在初始化加载无法使用@Value的时候读取配置文件教程
  • Admin.NET源码学习(5:swagger使用浅析)
  • Flutter 简述(1)
  • vue常用的修饰符有哪些
  • 外观模式及运用场景
  • Apifox 10月更新|测试步骤支持添加脚本和数据库操作、测试场景支持回收站、变量支持「秘密」类型
  • 关于安卓Handler之延时我不准时
  • Nginx 报错400 Request Header Or Cookie Too Large
  • 【MogDB】MogDB5.2.0重磅发布第九篇-SQL宽容性提升
  • npm入门教程7:npm语义化版本控制
  • Flink CDC 同步 Mysql 数据
  • 今日 AI 简报|多智能体协作平台、全能 AI 音频生成、长文本生成框架等前沿 AI 技术与应用
  • 【.NET 8 实战--孢子记账--从单体到微服务】--简易权限--接口路径管理
  • K 临近算法
  • AJ-Report:一款开源且非常强大的数据可视化大屏和报表工具
  • Nginx 深度解析:高性能 Web 服务器与反向代理的艺术
  • Hcia知识汇总
  • 局部加权回归
  • 【MySQL】 运维篇—安全管理:数据加密与SSL配置