Einen Aufruf an su-exec mit su oder ähnlichem umschreiben?

615
J. Doe

In diesem Bash-Skript unter Linux Alpine haben sie (Zeile 8):

exec su-exec "$ZOO_USER" "$0" "$@" 

Soweit ich weiß, su-execist jedoch ein Apache httpd abhängig - kann ich die Installation unter Ubuntu vermeiden und eine einfachere Alternative verwenden?

Ich habe bisher getestet:

 su -c "$0 $@" $ZOO_USER 

Aber dann zeigt dieser Docker-Befehl, dass ich eine Art Escape- / Anführungsfehler habe.

CMD ["zkServer.sh", "start-foreground"] 

was zu folgender Ausgabe führt. Was ist der Unterschied zum Original, was gut funktioniert?

No passwd entry for user 'start-foreground' 
0
Duplikat von: https://devops.stackexchange.com/questions/2526/interference-of-docker-cmd-with-su-works-mit-su-exec-but-nicht-mit-su J. Doe vor 6 Jahren 0

1 Antwort auf die Frage

0
J. Doe

Wie die Kollegen von DevOps SE darauf hingewiesen haben, sollte ’u´ richtig eingesetzt werden:

su -c "$0" "$ZOO_USER" "$@"