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