首页 > 编程笔记 > Linux笔记 阅读:12

Linux中的命名空间(新手必看)

Linux 最初对资源有一个全局的看法,为了允许进程对资源(如文件系统、网络,甚至用户)有一个本地的看法,Linux 引入了命名空间。

换句话说,Linux 命名空间都是关于资源的可见性,可以用来隔离操作系统资源的不同方面。这里的隔离主要是指进程看到的东西,不一定是硬边界(从安全角度看)。

为了创建命名空间,你有三个相关的系统调用供你使用:
前面的系统调用将一系列标志作为参数,使你能够对你想要创建、加入或离开的命名空间进行细粒度的控制:
查看你的系统中使用的命名空间的一种方法如下:
$ sudo lsns
        NS TYPE  NPROCS  PID USER               COMMAND
4026531835 cgroup   251    1 root               /sbin/init splash
4026531836 pid      245    1 root               /sbin/init splash
4026531837 user     245    1 root               /sbin/init splash
4026531838 uts      251    1 root               /sbin/init splash
4026531839 ipc      251    1 root               /sbin/init splash
4026531840 mnt      241    1 root               /sbin/init splash
4026531860 mnt        1   33 root               kdevtmpfs
4026531992 net      244    1 root               /sbin/init splash
4026532233 mnt        1  432 root               /lib/systemd/systemd-udevd
4026532250 user       1 5319  mh9               /opt/google/chrome/nacl_helper
4026532316 mnt        1  684  systemd-timesync  /lib/systemd/systemd-timesyncd
4026532491 mnt        1  688  systemd-resolve   /lib/systemd/systemd-resolved
...

相关文章