Вопрос: Настройка службы Systemd для работы с правами доступа root


У меня есть служба в виде приложения node.js, настроенного с помощью Systemd на Raspbian Jessie, и оно использует собственную учетную запись пользователя. Однако я обнаружил, что служба работает неправильно, потому что у нее нет необходимых разрешений. Один из модулей узла, который я установил, требует доступа root. Если я запускаю приложение вручную с помощью sudo, все работает нормально.

Есть ли способ сказать systemd запустить службу с помощью sudo?


7
2017-10-02 11:41


Источник


Как выглядит ваш файл блока, добавьте его в свой вопрос? Как обычно systemd запускает файлы с правами root. - Thomas


Ответы:


сообщите systemd для запуска службы с помощью sudo?

sudo с этим ничего не поделаешь.

Обычно вы инструктируете systemd запускать службу в качестве конкретного пользователя / группы с помощью User= а также Group= директивы в [Service] раздел файла блока.

Установите для root (или удалить их, поскольку по умолчанию используется root).


11
2017-10-02 12:00



Я использовал его для использования определенного пользователя, поскольку я использовал руководство для его настройки. Однако в моем случае это было неуместно. Я удалил его, чтобы запустить его как root по умолчанию, и теперь все работает! - Luke
Выполнение как root не совсем то же самое, что работать с User=root, См. Мой ответ. - Mark Stosberg


Очистить, systemd системные службы выполняются как root по умолчанию, но по-прежнему существует разница между поведением по умолчанию и запуском системной службы с User=root,

Как указано в Переменные среды в порожденных процессах, эти переменные устанавливаются только в том случае, если User= установлен:

$USER, $LOGNAME, $HOME, $SHELL

Я протестировал, чтобы подтвердить это открытие. Поэтому, если вы хотите запустить службу systemd с правами root, для которой требуется одна из перечисленных выше переменных, вам необходимо установить User=root,


3
2018-05-01 13:38





Запустите его как системного пользователя, в этом случае по умолчанию служба запускается с правами root.


1
2017-10-03 12:16