如何在chroot jail中执行linux命令

时间:2012-07-22 22:51:45

标签: c unix chroot

我需要编写一个jailed命令执行程序,它需要执行linux命令,我已经尝试将/ bin复制到我的新root,但是system()(例如system(“ls”))仍然无效。我已经阅读过有关复制库的内容,但是还有其他方法可以执行不涉及复制内容的linux命令吗?

此外(也许更重要),有一种方法可以让一个不是root的执行linux命令的监禁进程?

谢谢,感谢任何帮助

1 个答案:

答案 0 :(得分:1)

您复制到chroot环境中的二进制文件必须是静态链接的,或者您还需要复制必要的共享库(/lib / /usr/lib)。

非根进程可以在chroot环境中执行,就像root进程可以执行一样,但只有root进程可以调用chroot(),因此您需要让root进程设置chroot环境,然后切换到非特权进程用户ID。