Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要编写一个被监禁的命令执行器,它需要执行 linux 命令,我尝试将 /bin 复制到我的新根目录,但 system()(例如 system("ls"))仍然不起作用。我已经阅读了有关复制库的信息,但是还有其他方法可以执行不涉及复制内容的 linux 命令吗?
此外(也许更重要),有一种方法可以让非 root 的被监禁进程执行 linux 命令?
谢谢,任何帮助表示赞赏
您复制到 chroot 环境的二进制文件必须是静态链接的,或者您还需要复制必要的共享库 ( /lib/ /usr/lib)。
/lib
/usr/lib
非 root 进程可以像 root 进程一样在 chroot 环境中执行,但只有 root 进程可以调用chroot(),因此您需要让 root 进程设置 chroot 环境,然后切换到非特权用户 ID。
chroot()