У меня есть сервер, на котором работает Fedora 19. Когда сервер загружается, мне нужно выполнить несколько команд. Я делаю это в файле /etc/rc.d/rc.local
. Это хорошо работает. Теперь мне нужно запустить мой сервер nodejs
из этого скрипта.
Я не хочу запускать серверную программу от имени пользователя root
. Поэтому я попробовал что-то вроде следующего в файле rc.local
.
su myuser -c /home/myuser/project/path/prod_start.sh
Это выполняет prod_start.sh
как myuser
. Но в prod_start.sh
я меняю каталог на корневой каталог приложений. Также ожидается, что некоторые переменные среды будут установлены перед запуском. Но так как эти переменные среды определены в bash_profile
для пользователя myuser
, ни одна из них не вступила в силу, и сценарий завершился ошибкой .
Мне интересно, как я могу запустить команду от имени другого пользователя со всеми необходимыми для него переменными среды? Должен ли я установить все эти переменные среды на системном уровне, чтобы они были доступны всем пользователям?