Назад | Перейти на главную страницу

Невозможно запустить службу с пользователем, у которого нет пароля

Итак, я ищу способ запустить системную службу во время загрузки для работы от имени обычного пользователя.

Я создал служебный файл /etc/systemd/system/my-service.service как root, а затем, когда я попытался запустить службу как обычный пользователь: service my-service start Мне дали возможность выбрать пользователя для запуска службы, но затем меня также попросили ввести пароль. Однако я не настраивал пропуск для этого пользователя специально и использую только закрытый ключ для аутентификации. Сервис, который я создал, мне просто нужно выполнить команду под конкретным пользователем, а не под root. Какие у меня здесь варианты?

Вы должны получить доступ к /etc/sudoers файл и добавьте следующую строку:

user   ALL=NOPASSWD:/etc/systemd/system/my-service.service

Это позволит пользователю запускать / останавливать / перезапускать службу без запроса пароля.

Вам нужен root-доступ для запуска служб, даже если они настроены для работы от имени пользователя.

Так:

sudo service my-service start

Однако вашему пользователю необходим доступ к sudo ... для первого пользователя, который настроен на ubuntu, это обычно так по умолчанию. Затем вам нужно будет ввести пароль вашего собственного пользователя (не того, под которым работает служба).

Вы также можете настроить /etc/sudoers чтобы позволить вашему пользователю запускать команду без запроса пароля.