Переписать вызов su-exec с помощью su или аналогичного?

512
J. Doe

В этом скрипте bash под Linux Alpine они имеют (строка 8):

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

Насколько я знаю, su-execявляется ли зависимость Apache от httpd - могу ли я избежать ее установки под Ubuntu и использовать более простую альтернативу?

Я проверил до сих пор:

 su -c "$0 $@" $ZOO_USER 

Но затем эта команда Docker показывает, что у меня может быть какая-то ошибка с выходом из кавычек,

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

приводя к следующему выводу. В чем разница с оригиналом, который отлично работает?

No passwd entry for user 'start-foreground' 
0
Дубликат: https://devops.stackexchange.com/questions/2526/interference-of-docker-cmd-with-su-works-with-su-exec-but-not-with-su J. Doe 6 лет назад 0

1 ответ на вопрос

0
J. Doe

Как отметили коллеги в DevOps SE, правильное использование «su» должно быть:

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