Mesures de sécurité avec code non sécurisé sur Docker

Mon intention est de créer une application Web compatible LTI dans laquelle les étudiants en programmation peuvent exécuter du code Python et le code peut être noté. Je vais utiliser un conteneur Docker pour exécuter le code qu’un étudiant a soumis, inspiré par ce projet: https://github.com/hmarr/codecube Sur Codecube, un utilisateur soumet du code et le serveur exécute le code dans un conteneur Docker.

Sur le projet ci-dessus, la mesure de sécurité suivante est prise avant d’exécuter le code soumis par l’utilisateur non sécurisé. Peu familier avec le contrôle utilisateur de Linux, la question est de savoir si cela a du sens? Cela vaut-il la peine de le faire par rapport aux avantages en matière de sécurité que je pourrais en tirer?

#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