我必须运行一些学生写的代码,他们做的作业,我在我自己的电脑(Mac OS)上运行这个,我不完全确定他们不会不小心“rm -rf /”我的机器。有没有一种 * 简单 * 的方法来运行他们的python脚本,减少权限,这样他们就只能访问某个目录?PyPy是一种方法吗?
rm -rf /
kninwzqo1#
您可以使用chroot environment。在此设置中,脚本无法访问chroot jail之外的任何文件。
pqwbnv8z2#
创建一个新的用户帐户“student”。以“student”的身份运行学生的脚本。最坏的情况是,脚本将破坏这个特殊的用户帐户。如果发生这种情况,只需删除用户“student”并重新开始。
ugmeyewa3#
现在,一个简单的方法是在docker容器中运行学生代码。你只需要用代码挂载卷,然后用python使用镜像。例如,假设/tmp/student_code包含学生提交的内容:
/tmp/student_code
docker run -it --mount type=bind,source=/tmp/student_code,target=/student_code python /bin/bash
您将进入一个新的bash会话,并可以运行python /student_code/script1.py
python /student_code/script1.py
3条答案
按热度按时间kninwzqo1#
您可以使用chroot environment。在此设置中,脚本无法访问chroot jail之外的任何文件。
pqwbnv8z2#
创建一个新的用户帐户“student”。以“student”的身份运行学生的脚本。最坏的情况是,脚本将破坏这个特殊的用户帐户。如果发生这种情况,只需删除用户“student”并重新开始。
ugmeyewa3#
现在,一个简单的方法是在docker容器中运行学生代码。你只需要用代码挂载卷,然后用python使用镜像。
例如,假设
/tmp/student_code
包含学生提交的内容:您将进入一个新的bash会话,并可以运行
python /student_code/script1.py