Как создать пользователя службы для приложения и запустить его при запуске от этого пользователя
У меня есть приложение, которое я должен запустить при запуске.
Я создал системного пользователя для этого приложения с useradd -r serviceUser
и сделал его владельцем каталога приложений.
Затем я пишу скрипт запуска и добавляю его в автозапускupdate-rc myserver.sh defaults
Мой сценарий в /etc/init.d/myserver.sh
#!/bin/sh
start() {
cd "/my_server_dir/"
su -c "./myServer" serviceUser
}
if [ "x$1" = "xstart" ]
then
start
exit 0
fi
Когда я запускаю его от своего реального логина/etc/init.d/myserver.sh start
Подскажите пожалуйста пароль. Но я не установил никаких паролей.
Я думаю, что где-то я был не прав.
1 ответ
Не уверен, что вы ожидаете, позвонив su
всегда будет запрашивать пароль, если вы не запустите его от имени пользователя root, который делает все без запроса или с sudo, который вместо этого запросит пароль пользователя.
Так что, если вы хотите использовать этого serviceUser с su -c и не требуя прав sudo, запустите sudo passwd serviceUser
и установите пароль.