我需要编写一个jailed命令执行程序,它需要执行linux命令,我已经尝试将/ bin复制到我的新root,但是system()(例如system(“ls”))仍然无效。我已经阅读过有关复制库的内容,但是还有其他方法可以执行不涉及复制内容的linux命令吗?
此外(也许更重要),有一种方法可以让一个不是root的执行linux命令的监禁进程?
谢谢,感谢任何帮助
答案 0 :(得分:1)
您复制到chroot环境中的二进制文件必须是静态链接的,或者您还需要复制必要的共享库(/lib
/ /usr/lib
)。
非根进程可以在chroot环境中执行,就像root进程可以执行一样,但只有root进程可以调用chroot()
,因此您需要让root进程设置chroot环境,然后切换到非特权进程用户ID。