Ich verwende Docker, um Bilder zu erstellen, die ich als Container ausführen kann. Ich konfiguriere mein Image ausschließlich als Root-Benutzer, einschließlich der Einrichtung von Volumes und anderen Dingen. Aber sobald ich alles konfiguriert habe, möchte ich einem nicht privilegierten Benutzer die Berechtigungen zum Ausführen meiner eigentlichen Anwendung entziehen. Folgendes versuche ich derzeit zu tun:
# Do privileged stuff
su myuser -c "myapplicationcommand $@"
Wenn diese Container jedoch bereitgestellt werden, wird anscheinend eine nicht interaktive Shell ausgeführt, da der folgende Fehler angezeigt wird:
su: must be run from a terminal
Offensichtlich muss der Befehl "su" in einer interaktiven Shell ausgeführt werden. Meine Frage lautet also: Wie kann ich Berechtigungen aus einer nicht interaktiven Shell entfernen, damit meine Anwendung als Benutzer ohne Rootberechtigung in meinem Docker-Container ausgeführt werden kann?