在监禁进程后使用execlp



基本上,我想在监禁进程中执行shell命令。当我尝试下面的代码(都作为一个普通用户&Root用户),它不会产生任何输出

if(!(pid=fork)){
   chroot("./jail_folder");
   chdir("/");
   execl("/bin/ls","ls",NULL);
}

我尝试了perror()函数,它给了我一个"没有这样的文件或目录"错误。是否有可能在监禁进程中运行shell命令?如果有,我们该怎么做?

是的,这是可能的,但是您必须使jail能够访问它(通常,这意味着将所需的程序及其所有库复制到jail;符号链接不起作用,硬链接是可以的)。否则,如果您将程序限制在没有/bin的目录树的一部分,那么您就不能访问/bin/ls,这一点也不奇怪。

相关内容

  • 没有找到相关文章

最新更新