关于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),从而在命名空间内拥有完整管理员权限,外部则保持普通权限。

在目前新内核中又引入了cgroup 和 time

  • cgroup

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

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

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

  • time

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

相关推荐
一条破秋裤2 分钟前
Linux 共享内存通信:POSIX 共享内存与 mmap
linux·运维·服务器
贵州山魈羡民29 分钟前
【玩转手机】通过 Podroid 上的 Alpine 部署 1Panel,把微型服务器装进口袋
运维·服务器
小白的码BUG之路33 分钟前
Docker -- 构建nacos镜像
运维·docker·容器
谷哥的小弟2 小时前
CentOS Stream浴火重生
linux·运维·centos
程序员-Benothing2 小时前
Shell输入输出详解:read、echo、printf、颜色输出
linux·运维·服务器
和裕2 小时前
全纸结构重型纸箱能否满足 1 吨以上设备出口熏蒸豁免要求?通关合规性全解析
大数据·运维·网络·人工智能·算法
FPGA小徐3 小时前
从 NEMU 到 AbstractMachine:程序、运行时环境与 AM 完全解析
linux·运维·服务器
呉師傅4 小时前
得力P2500、M2500系列打印机硒鼓加粉及清零方法【纯享版】
运维·网络·windows·电脑
Sayai4 小时前
Elasticsearch 日志检索 DSL 实战:时间范围查询、字段去重、分钟级统计与最新日志获取
大数据·运维·elasticsearch·搜索引擎·日志分析
qetfw4 小时前
Debian Chrony 时间同步、RAID5 与 LUKS 磁盘加密配置
linux·debian