我想用 python 编写一个 chroot 包装器。该脚本将复制一些文件,设置一些其他内容,然后执行 chroot 并且应该让我进入 chroot shell。
棘手的部分是我不希望在我进入 chroot 后运行 python 进程。
换句话说,python 应该完成设置工作,调用 chroot 并终止自身,让我留在 chroot shell 中。当我退出 chroot 时,我应该在我调用 python 脚本时所在的目录中。
这可能吗?
最佳答案
我的第一个想法是使用 os.exec*
函数之一。这些将用 chroot
进程(或您决定使用 exec*
运行的任何进程)替换 Python 进程。
# ... do setup work
os.execl('/bin/chroot', '/bin/chroot', directory_name, shell_path)
(或类似的东西)
关于Python 脚本打开 bash 提示终止脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4189878/