У меня есть приложение, которое я должен запустить при запуске.
Я создал пользователя системы для этого приложения с 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, попросите меня пароль. Но я не вводил никаких паролей.
Я думаю, что где-то я был неправ.
Не уверен, что вы ожидаете, вызывая su, всегда будет запрашивать пароль, если вы не запустите его как root, который просто сделает все без подсказки или с помощью sudo, который будет запрашивать ваш пароль пользователя.
Итак, если вы хотите использовать этот сервис-провайдер с su -c и не требуя прав sudo, запустите sudo passwd serviceUser и установите пароль.
Не уверен, что вы ожидаете, вызывая su, всегда будет запрашивать пароль, если вы не запустите его как root, который просто сделает все без подсказки или с помощью sudo, который будет запрашивать ваш пароль пользователя.
Итак, если вы хотите использовать этот сервис-провайдер с su -c и не требуя прав sudo, запустите sudo passwd serviceUser и установите пароль.
Не уверен, что вы ожидаете, вызывая su, всегда будет запрашивать пароль, если вы не запустите его как root, который просто сделает все без подсказки или с помощью sudo, который будет запрашивать ваш пароль пользователя.
Итак, если вы хотите использовать этот сервис-провайдер с su -c и не требуя прав sudo, запустите sudo passwd serviceUser и установите пароль.