Новомодный сценарий работает хорошо с sudo, но перестал работать как пользователь root

У меня есть простой nodeJs новомодный сервис, выполненный как,

script
  exec /usr/bin/node /path/to/server.js
end script

При выполнении с командой sudo это работает

~$ sudo service upserv start
sg_gui_server start/running, process 19321

То, когда это, работало как пользователь root, это перестало работать с причудливой ошибкой.

~$ sudo su
sk# service sg_gui_server restart
karaf: JAVA_HOME not set; results may vary

JAVA_HOME не устанавливают, эта ошибка причудлива, поскольку nodeJs не зависит от Java, освобождает, и эта ошибка прибывает, когда я выполняю простой сервер Python также.

Как делает выполнение сервиса с sudo префиксом, отличаются от выполнения его как пользователь root?

0
задан 11 August 2015 в 20:00
1 ответ

Это зависит от конфигурации, но кажется, что переменная локального окружения для JAVA_HOME используется пользователем. Вы можете проверить это, проверив настройки env_keep в файле /etc/sudoers. Я бы лично

использовал исходный файл /etc/profile как часть вашего скрипта upstart.

1
ответ дан 4 December 2019 в 16:51

Теги

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