puzzle / unilu-pruefungsabfrage

The University Exam Feedback Tool is designed to digitalize the process of providing students with access to their corrected exams after each exam session. This tool aims to modernize and streamline the existing process, making it more efficient and convenient for both students and faculty.
GNU General Public License v3.0
3 stars 0 forks source link

Rootless Docker Command #41

Closed peggimann closed 1 month ago

peggimann commented 2 months ago

Als Entwickler will ich sicherstellen, dass das Dockerfile rootless gerunnt werden kann. Dies stellt sicher, dass unserer Applikation als user gerunt werden kann, damit keine privilege escalation auf dem Host durchgeführt werden kann.

Anforderungen

Hinweise

https://docs.docker.com/engine/security/rootless/ https://www.liquidweb.com/blog/how-to-docker-rootless-containers/

Akzeptanzkriterien

RandomTannenbaum commented 1 month ago

Stand 04.09.2024 Heute habe ich mich mal in die ganze Rootless Thematik eingelesen und das ganze setup lokal ausprobiert.

Den Setup-Prozess der für mich funktioniert hat ist in folgendem codi erfasst. https://codimd.puzzle.ch/Tn05BfdTQ_q1eE3pRReSLw?both#

Ich denke grundsätzlich läuft der rootless docker bei mir lokal. Was jetzt noch fehlt, ist das Benutzen eines anderen User-Accounts im Container selbst, denn da wird momentan noch root verwendet.

RandomTannenbaum commented 1 month ago

Stand 10.09.2024 Ich habe heute vor allem noch über permissions von Usern in Docker-Containern nachgeforscht und ausprobiert ob bei uns die Permissions des neuen users stimmen.

Dieser Artikel war dabei hilfreich, ich habe es jedoch nicht genau wie dort beschrieben implementiert. https://code.visualstudio.com/remote/advancedcontainers/add-nonroot-user

RandomTannenbaum commented 1 month ago

Stand 11.09.2024 Heute habe ich das rootless docker setup auf der pipeline zum laufen gebracht, so dass wir z.b. später beim Release die gleichen gegebenheiten wie in der Realität testen. Ausserdem habe ich zum Setup des rootless Dockers eine Anleitung im README erfasst.

Zu guter letzt habe ich noch den Techtalk geschrieben: https://codimd.puzzle.ch/XKHuTCMUSaa8sEpUGpgiIA#