是否有任何禁止Python写入磁盘的命令行选项或配置?
我知道我可以破解open
,但听起来并不安全。
我已经在我的网站上为想要学习Python的朋友写了一些Python教程,我希望他们能够访问Python控制台,以便他们可以随时学习。这是通过从http服务器创建Python子进程来完成的。
但是,我不希望它们意外或故意损坏我的服务器,因此我需要禁止Python进程将任何内容写入磁盘。
此外,我在Ubuntu Linux上运行服务器,因此以Python方式或系统方式进行操作都可以。
答案 0 :(得分:5)
我怀疑在解释器本身中有一种方法可以做到这一点:要修补的内容太多了(open
,subprocess
,os.system
,file
和可能是其他人)。我建议通过类似Docker之类的东西来研究容纳python运行时的方法。容器化提供了一些限制访问的保证,尽管没有虚拟化那么多。有关安全隐患的更多讨论,请参阅here。
在docker容器中运行jupyter / ipython笔记本可能是公开Web前端的最简单方法。 jupyter
为此提供了一系列泊坞容器:请参阅https://github.com/jupyter/tmpnb和https://github.com/jupyter/docker-stacks