Python& Django:在chroot监狱上工作以运行单个bash脚本

时间:2017-08-23 02:37:58

标签: python linux django bash chroot

我面临以下问题,我不确定我的方法是否接近'正确'。

我已经构建了一个Django应用程序来处理学生在大学的编程主题的作业。这个应用程序的原始版本(https://github.com/elcoya/seal)使用chroot'd守护进程来获取学生提供的代码,在该代码旁边放置一个bash脚本并执行de bash,它可以包含任何类型的opeartions就像建立和测试学生的代码一样。到现在为止还挺好。但是,运行这个守护进程有点头疼。由于它在一个监狱内运行,每次服务器重启时(该监控器不时重新启动:()或者守护进程发生一些错误,该进程死亡或被杀死,该监狱内的绑定/ proc)已经过时了因此,停止做“纠正”学生分娩的工作。

为了防止这种错误发生,并且拥有一个更值得信赖的自动更正服务,我想安装一个“django-kronos”任务(从服务器中的crontab运行)来完成同样的工作。这将是伟大的,但这意味着从我的Django堆栈代码,我将需要进入chroot运行提到的bash脚本。

SO建议发布this帖子,但它是从2012年开始的,它建议反对我想要做的事情。我在这里错过了什么吗? os.chroot(/path/to/jail)是可行的吗?

1 个答案:

答案 0 :(得分:0)

您可以在Docker容器内运行用户脚本。 Docker为您提供监狱的所有好处以及更多。例如,如果要重新启动运行它的主机,它可以为您重新启动容器:https://docs.docker.com/engine/admin/start-containers-automatically/