Как создать пользователя услуги для приложения и выполнить его при запуске от того пользователя

У меня есть приложение, которое я должен запустить при запуске.

Я создал пользователя системы для того приложения с 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 спрашивает меня пароль. Но я не установил паролей.

Я думаю где-нибудь, что я был неправ.

0
задан 17 August 2017 в 02:51

1 ответ

Не уверенный то, что Вы ожидаете, звоня su, будет всегда запрашивать пароль, если Вы не выполните его как корень, который просто делает все, не запрашивая или с sudo, который запросит Ваш пароль пользователя вместо этого.

Поэтому, если Вы хотите использовать это serviceUser с su-c и не требуя sudo прав, выполните sudo passwd serviceUser и установите пароль.

0
ответ дан 2 November 2019 в 10:27

Другие вопросы по тегам:

Похожие вопросы: