使用 chroot 的问题之一是安装所有二进制文件和库。
我突然想到可能还有另一种方法。 TSocks 项目使用一种被他们称为“共享库拦截器”的技术来拦截来自动态加载到任意可执行文件中的 .so 的系统调用。
是否可以创建一个在 main() 入口点之前 chroot(并删除 root 权限)的共享库?然后,您就可以在系统上的任何程序中使用 chroot 功能,而无需设置任何特殊的文件树(可能的例外是仍然需要某些开发节点的副本)。
有人已经这样做了吗? (在 Google 上还找不到)。
有人知道在 main() 之前发生的系统调用可以被挂钩吗?