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

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

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

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

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

3 ответа

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

Итак, если вы хотите использовать этот сервис-провайдер с su -c и не требуя прав sudo, запустите sudo passwd serviceUser и установите пароль.

0
ответ дан 22 May 2018 в 19:22
  • 1
    Спасибо, я сделал это, автозапуск работал. Я не мог понять - если мне нужно ввести пароль пользователя, как система запускает его при запуске без него. Но системный запуск - это как root. Я думаю, что понял :) – zella 17 August 2017 в 15:19

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

Итак, если вы хотите использовать этот сервис-провайдер с su -c и не требуя прав sudo, запустите sudo passwd serviceUser и установите пароль.

0
ответ дан 18 July 2018 в 08:24

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

Итак, если вы хотите использовать этот сервис-провайдер с su -c и не требуя прав sudo, запустите sudo passwd serviceUser и установите пароль.

0
ответ дан 24 July 2018 в 19:05

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

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