Docker上具有不安全代码的安全措施

时间:2014-12-08 10:57:43

标签: security unix docker

我的目的是制作符合LTI标准的网络应用程序,编程学生可以在其中运行Python代码,并且可以对代码进行评分。我将使用Docker容器运行学生提交的代码,受此项目启发:https://github.com/hmarr/codecube在Codecube上,用户提交一些代码,服务器在docker容器中运行代码。

在上面的项目中,在运行不安全的用户提交的代码之前采取以下安全措施。不熟悉Linux的用户控制端,问题是,这有什么意义吗?与我可能从中获得的安全性好处相比,是否值得这样做?

#server/entrypoint.sh
prog=$1
uid=$2
if [ -z $1 ]; then
echo "you must provide a file"
exit 1
fi
if [ -z $uid ]; then
uid=10000
fi
echo "127.0.0.1 $(hostname)" >> /etc/hosts

groupadd code
useradd -u "$uid" -G code -d "/home/codecube" -m codecube
#The next two lines should propably read /home/codecube because /code doesn't exist
chgrp code /code
chmod 0775 /code
cd /home/codecube
sudo -u codecube /bin/bash /run-code.sh $prog

0 个答案:

没有答案