关于linux namespace学习

linuxnamespace学习

文章阅读:https://coolshell.cn/articles/17010.html

https://coolshell.cn/articles/17029.html

https://coolshell.cn/articles/17029.html

命名空间

目前,Linux 实现了六种不同类型的命名空间。每个命名空间的目的是将特定的全局系统资源包裹在一个抽象中,使命名空间内的进程看起来像是拥有独立的全局资源实例。命名空间的总体目标之一是支持容器的 实现,容器是一种用于轻量虚拟化(以及其他用途)的工具,它让一组进程产生了它们是系统中唯一进程的错觉。

linux 总共有6大命名空间,是docker容量隔离的关键:

  • Mount namespaces

    挂载命名空间用于隔离进程组的文件系统挂载点集合,使不同命名空间内的进程拥有独立的文件系统层级视图。启用后,mount () 和 umount () 不再作用于全局挂载点,而仅影响调用进程所属的挂载命名空间。

  • UTS namespaces

    UTS 命名空间隔离 uname () 返回的主机名和域名,容器可拥有独立主机名与 NIS 域名,便于配置脚本识别执行。

  • IPC namespaces

    IPC 命名空间用于隔离进程间通信资源,包括 System V IPC 对象及 Linux 2.6.30 后的 POSIX 消息队列。这类 IPC 对象不通过文件路径标识,每个 IPC 命名空间都拥有独立的 IPC 标识符与消息队列文件系统。

  • PID namespaces

    PID 命名空间用于隔离进程 ID 编号空间,不同命名空间内的进程可使用相同 PID。

  • Network namespaces

    网络命名空间隔离网络相关系统资源,每个命名空间拥有独立的网络设备、IP 地址、路由表、/proc/net 目录及端口号等。

  • User namespaces

    用户命名空间隔离用户 ID 与组 ID 空间,进程在命名空间内外的 UID、GID 可不一致,甚至能在外部为普通用户、在内部映射为 UID 0(root),从而在命名空间内拥有完整管理员权限,外部则保持普通权限。

在目前新内核中又引入了cgrouptime

  • cgroup

    Cgroup Namespace 是 Linux 内核 4.6 版本引入的命名空间,核心作用是隔离进程可见的 cgroup 根目录。

    没有 cgroup namespace 时:所有进程都能看到系统全局的 /sys/fs/cgroup 根目录,容器内进程也能看到宿主机上所有其他容器的 cgroup 路径,存在信息泄露和越权风险。

    有 cgroup namespace 时:容器内进程看到的 /sys/fs/cgroup 根目录,被虚拟化映射到容器自身的 cgroup 子目录,完全看不到宿主机和其他容器的 cgroup 结构,实现了彻底的隔离。

  • time

    Time 命名空间用于隔离进程的单调时钟与系统启动时间,让每个命名空间可拥有独立的运行时间视图,但不影响实际系统时间。

相关推荐
Yupureki14 小时前
《Linux网络编程》5.HTTPS协议
linux·网络·https
搬砖的小码农_Sky15 小时前
Linux操作系统:Ubuntu和Debian的区别
linux·ubuntu·debian
江湖有缘15 小时前
基于Ubuntu系统Docker部署Note Mark:从安装到配置全流程
linux·ubuntu·docker
前端之虎陈随易15 小时前
2年没用Nodejs了,Bun很香
linux·前端·javascript·vue.js·typescript
宁小法15 小时前
Linux批量删除文件
linux·服务器·批量·删除文件
AC赳赳老秦16 小时前
财务报销自动化:用 OpenClaw 自动识别发票信息、填写报销单、校验报销规则,减少手工操作
运维·网络·eclipse·github·visual studio·deepseek·openclaw
05候补工程师16 小时前
深度解构 ROS 2:如何手动调通 Nav2 A* 路径规划引擎
linux·人工智能·经验分享·算法·机器人
呆萌的代Ma16 小时前
docker内的n8n配置Code节点运行python代码
python·docker·容器
北冥湖畔的燕雀17 小时前
Linux线程编程核心指南
linux·服务器·网络
倔强的石头10617 小时前
【Linux 指南】文件系统系列(一):磁盘底层原理 —— 从物理结构到 CHS与LBA 寻址全解析
linux·运维·服务器