namespace 是 Linux 内核用来隔离内核资源的方式。通过 namespace 可以让一些进程只能看到与自己相关的一部分资源,而另外一些进程也只能看到与它们自己相关的资源,这两拨进程根本就感觉不到对方的存在。具体的实现方式是把一个或多个进程的相关资源指定在同一个 namespace 中。
$ ll /proc/$$/ns
$ ~/ --bind /proc/$$/ns/uts ~/uts
_GNU_SOURCE
clone( (*fn)( *), *child_stack, flags, *arg);
_GNU_SOURCE
setns( fd, nstype);
》一文中介绍过 execve() 系列的函数,有兴趣的同学可以前往了解),该函数可以执行用户的命令,比较常见的用法是调用 /bin/bash 并接受参数运行起一个 shell。
_GNU_SOURCE
unshare( flags);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。