我有一个用 C 语言编写的程序,它在 jail 内以 chroot 模式运行,它会进行一些系统调用,例如 system ( "ls")
。问题是当我在 jail 中运行程序时,程序不执行系统调用。我已经包含了可执行文件的所有必要库(使用 ldd
bash 命令找到它们),以及 bash 可执行文件(/bin/bash
),以及它的库(还有通过 ldd
找到)。好像少了点什么。有人对此有想法吗?
最佳答案
根据定义,system
运行“/bin/sh -c
将 /bin/sh
复制到您的 chroot jail(或将其链接到/bin/bash),您应该可以开始了。
关于C : system() call inside chroot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7167310/